From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 771ED38582A1; Wed, 7 Feb 2024 14:04:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 771ED38582A1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1707314685; bh=XIMudp4FQXYMKLMc4YZ8yhzLxgWVcjkSwQrndgcHH2s=; h=From:To:Subject:Date:From; b=mJKvKAz2KlRS+P2uXxxk8oGMWEkkty4iUHuDZG7P5K/YlpB4D+M+1b35dn2lkkaB2 9MrbH7bboKguYhvWopuS5jfX5IryDDIDgleBdu3fQGoq8Cq+UBwdBY/w1cgzInaSl3 lh8leOKmq4+jNq6I+GJN2MmvhYRRImrZ6DTgvVGk= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc/azanella/clang] resolv: Suppress clang -Wsometimes-uninitialized on getaddrinfo X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/azanella/clang X-Git-Oldrev: cc2dc55feb1324caec6dd5dfb522c958a558ae18 X-Git-Newrev: db114ef23abe1ca9901a062c2f72f194f88f3564 Message-Id: <20240207140445.771ED38582A1@sourceware.org> Date: Wed, 7 Feb 2024 14:04:45 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=db114ef23abe1ca9901a062c2f72f194f88f3564 commit db114ef23abe1ca9901a062c2f72f194f88f3564 Author: Adhemerval Zanella Date: Tue Mar 22 16:01:34 2022 -0300 resolv: Suppress clang -Wsometimes-uninitialized on getaddrinfo clang warns that endp is used uninitialized whenever '||' condition is true: getaddrinfo.c:1888:11: error: variable 'endp' is used uninitialized whenever '||' condition is true [-Werror,-Wsometimes-uninitialized] 1888 | && (cp == NULL | ^~~~~~~~~~ getaddrinfo.c:1891:11: note: uninitialized use occurs here 1891 | && *endp == '\0' | ^~~~ getaddrinfo.c:1888:11: note: remove the '||' if its condition is always false 1888 | && (cp == NULL | ^~~~~~~~~~ 1889 | || (bits = strtoul (cp, &endp, 10)) != ULONG_MAX | ~~ getaddrinfo.c:1875:13: note: initialize the variable 'endp' to silence this warning 1875 | char *endp; | ^ | = NULL 1 error generated. However it will be evaluated after strtoul call. Diff: --- nss/getaddrinfo.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nss/getaddrinfo.c b/nss/getaddrinfo.c index 3ccd3905fa..31a0283d50 100644 --- a/nss/getaddrinfo.c +++ b/nss/getaddrinfo.c @@ -1880,6 +1880,10 @@ add_prefixlist (struct prefixlist **listp, size_t *lenp, bool *nullbitsp, if (cp != NULL) *cp++ = '\0'; *pos = cp; + /* clang warns that endp is used uninitialized whenever '||' condition + is true, however it will be evaluated after strtoul call. */ + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wsometimes-uninitialized"); if (inet_pton (AF_INET6, val1, &prefix) && (cp == NULL || (bits = strtoul (cp, &endp, 10)) != ULONG_MAX @@ -1903,6 +1907,7 @@ add_prefixlist (struct prefixlist **listp, size_t *lenp, bool *nullbitsp, ++*lenp; *nullbitsp |= bits == 0; } + DIAG_POP_NEEDS_COMMENT_CLANG; return true; } @@ -2041,6 +2046,11 @@ gaiconf_init (void) if (inet_pton (AF_INET6, val1, &prefix)) { bits = 128; + /* clang warns that endp is used uninitialized whenever '||' + condition is true, however it will be evaluated after + strtoul call. */ + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wsometimes-uninitialized"); if (IN6_IS_ADDR_V4MAPPED (&prefix) && (cp == NULL || (bits = strtoul (cp, &endp, 10)) != ULONG_MAX @@ -2062,6 +2072,7 @@ gaiconf_init (void) goto no_file; } } + DIAG_POP_NEEDS_COMMENT_CLANG; } else if (inet_pton (AF_INET, val1, &prefix.s6_addr32[3]) && (cp == NULL