]> Savannah Git Hosting - gnulib.git/commitdiff
af_alg: Pacify --enable-gcc-warnings on GCC 8
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 9 May 2018 17:38:17 +0000 (10:38 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 9 May 2018 17:39:03 +0000 (10:39 -0700)
* lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
and checking to pacify gcc -Wjump-misses-init on GCC 8.

ChangeLog
lib/af_alg.c

index 428897fa347ff085e1a764d97546ec0ec35b94fa..41bc0fbaca98955c3508b633765a4a29cb7198e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       af_alg: Pacify --enable-gcc-warnings on GCC 8
+       * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
+       and checking to pacify gcc -Wjump-misses-init on GCC 8.
+
 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
 
        af_alg: Pacify --enable-gcc-warnings
index c9809c70e9e71310230e8e7ac3bf256cb095cb25..81f506e7a100f3b616302dcdf590332a61b1f6e6 100644 (file)
@@ -40,15 +40,13 @@ int
 afalg_buffer (const char *buffer, size_t len, const char *alg,
               void *resblock, ssize_t hashlen)
 {
+  int ofd;
+
   /* On Linux < 4.9, the value for an empty stream is wrong (all zeroes).
      See <https://patchwork.kernel.org/patch/9308641/>.  */
   if (len == 0)
     return -EAFNOSUPPORT;
 
-  int cfd = socket (AF_ALG, SOCK_SEQPACKET, 0);
-  if (cfd < 0)
-    return -EAFNOSUPPORT;
-
   int result;
   struct sockaddr_alg salg = {
     .salg_family = AF_ALG,
@@ -57,19 +55,19 @@ afalg_buffer (const char *buffer, size_t len, const char *alg,
   /* Avoid calling both strcpy and strlen.  */
   for (int i = 0; (salg.salg_name[i] = alg[i]); i++)
     if (i == sizeof salg.salg_name - 1)
-      {
-        result = -EINVAL;
-        goto out_cfd;
-      }
+      return -EINVAL;
+
+  int cfd = socket (AF_ALG, SOCK_SEQPACKET, 0);
+  if (cfd < 0)
+    return -EAFNOSUPPORT;
 
-  int ret = bind (cfd, (struct sockaddr *) &salg, sizeof salg);
-  if (ret != 0)
+  if (bind (cfd, (struct sockaddr *) &salg, sizeof salg) != 0)
     {
       result = -EAFNOSUPPORT;
       goto out_cfd;
     }
 
-  int ofd = accept (cfd, NULL, 0);
+  ofd = accept (cfd, NULL, 0);
   if (ofd < 0)
     {
       result = -EAFNOSUPPORT;
@@ -105,11 +103,7 @@ int
 afalg_stream (FILE *stream, const char *alg,
               void *resblock, ssize_t hashlen)
 {
-  int cfd = socket (AF_ALG, SOCK_SEQPACKET, 0);
-  if (cfd < 0)
-    return -EAFNOSUPPORT;
-
-  int fd;
+  int fd, ofd;
   struct stat st;
 
   int result;
@@ -120,19 +114,19 @@ afalg_stream (FILE *stream, const char *alg,
   /* Avoid calling both strcpy and strlen.  */
   for (int i = 0; (salg.salg_name[i] = alg[i]); i++)
     if (i == sizeof salg.salg_name - 1)
-      {
-        result = -EINVAL;
-        goto out_cfd;
-      }
+      return -EINVAL;
+
+  int cfd = socket (AF_ALG, SOCK_SEQPACKET, 0);
+  if (cfd < 0)
+    return -EAFNOSUPPORT;
 
-  int ret = bind (cfd, (struct sockaddr *) &salg, sizeof salg);
-  if (ret != 0)
+  if (bind (cfd, (struct sockaddr *) &salg, sizeof salg) != 0)
     {
       result = -EAFNOSUPPORT;
       goto out_cfd;
     }
 
-  int ofd = accept (cfd, NULL, 0);
+  ofd = accept (cfd, NULL, 0);
   if (ofd < 0)
     {
       result = -EAFNOSUPPORT;