Mercurial > hg > dhcpcd
changeset 5281:9f9a330f6e24 draft
Fix some Coverity isues
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sat, 30 May 2020 10:36:20 +0000 |
| parents | a986083da0ba |
| children | 8afafcabcfa5 |
| files | src/common.c src/dhcp6.c src/dhcpcd.c src/if-linux.c src/privsep.c |
| diffstat | 5 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/common.c Sat May 30 09:51:49 2020 +0000 +++ b/src/common.c Sat May 30 10:36:20 2020 +0000 @@ -46,7 +46,7 @@ const unsigned char *hp, *ep; char *p; - if (buf == NULL) + if (buf == NULL || hwlen == 0) return NULL; if (hwlen * 3 > buflen) {
--- a/src/dhcp6.c Sat May 30 09:51:49 2020 +0000 +++ b/src/dhcp6.c Sat May 30 10:36:20 2020 +0000 @@ -3743,13 +3743,17 @@ v = 1; if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &v, sizeof(v)) == -1) - return -1; + goto errexit; v = offsetof(struct udphdr, uh_sum); if (setsockopt(fd, IPPROTO_IPV6, IPV6_CHECKSUM, &v, sizeof(v)) == -1) - return -1; + goto errexit; return fd; + +errexit: + close(fd); + return -1; } int
--- a/src/dhcpcd.c Sat May 30 09:51:49 2020 +0000 +++ b/src/dhcpcd.c Sat May 30 10:36:20 2020 +0000 @@ -358,7 +358,7 @@ /* Don't use loginfo because this makes no sense in a log. */ if (!(loggetopts() & LOGERR_QUIET)) - fprintf(stderr, "forked to background, child pid %d\n", + (void)fprintf(stderr, "forked to background, child pid %d\n", getpid()); i = EXIT_SUCCESS; if (write(ctx->fork_fd, &i, sizeof(i)) == -1)
--- a/src/if-linux.c Sat May 30 09:51:49 2020 +0000 +++ b/src/if-linux.c Sat May 30 10:36:20 2020 +0000 @@ -2046,8 +2046,8 @@ return 0; i = (int)strtoi(buf, NULL, 0, INT_MIN, INT_MAX, &error); if (error != 0) - return -1; - return error != 0 ? 0 : i; + return 0; + return i; } #endif /* INET6 */
--- a/src/privsep.c Sat May 30 09:51:49 2020 +0000 +++ b/src/privsep.c Sat May 30 10:36:20 2020 +0000 @@ -248,7 +248,7 @@ errexit: /* Failure to start root or inet processes is fatal. */ if (priv_fd == &ctx->ps_root_fd || priv_fd == &ctx->ps_inet_fd) - ps_sendcmd(ctx, *priv_fd, PS_STOP, 0, NULL, 0); + (void)ps_sendcmd(ctx, *priv_fd, PS_STOP, 0, NULL, 0); shutdown(*priv_fd, SHUT_RDWR); *priv_fd = -1; return -1;
