Mercurial > gnulib
changeset 39345:8a9dcfeeced4
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.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Wed, 09 May 2018 10:38:17 -0700 |
parents | 17e92a7c6c04 |
children | e5a663fbaaf2 |
files | ChangeLog lib/af_alg.c |
diffstat | 2 files changed, 23 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon May 07 00:25:57 2018 -0700 +++ b/ChangeLog Wed May 09 10:38:17 2018 -0700 @@ -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
--- a/lib/af_alg.c Mon May 07 00:25:57 2018 -0700 +++ b/lib/af_alg.c Wed May 09 10:38:17 2018 -0700 @@ -40,15 +40,13 @@ 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 @@ /* 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 ret = bind (cfd, (struct sockaddr *) &salg, sizeof salg); - if (ret != 0) + int cfd = socket (AF_ALG, SOCK_SEQPACKET, 0); + if (cfd < 0) + return -EAFNOSUPPORT; + + 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 @@ 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 @@ /* 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 ret = bind (cfd, (struct sockaddr *) &salg, sizeof salg); - if (ret != 0) + int cfd = socket (AF_ALG, SOCK_SEQPACKET, 0); + if (cfd < 0) + return -EAFNOSUPPORT; + + 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;