From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 1D2553858417; Fri, 9 Feb 2024 17:29:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D2553858417 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1707499764; bh=jSqKrMvuJ8M+LR37c3drx8nY/J21yQ+RzCyj4idAjUM=; h=From:To:Subject:Date:From; b=ZW2dAqTBYeBxnApk+jPUSkWEJ2DpA4aTeCGHGPDT5xVDhuxh2JeC/n5cQ4fNGgrQz kuManUgh/MyRjRZ17Ht+uOyR+ABuptyRDlDTJyY6GW5d5w23SoSAqViPstOh8d/Qfd /18DgbqS3BNxLhE7k2UioUEazXnKM3OSdQ6U65MQ= 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: e34a1b7252b2dbdcf9668928b66746427f2b24e7 X-Git-Newrev: 5702bebf9de4f57fc27cbfb48f340211aeba443b Message-Id: <20240209172924.1D2553858417@sourceware.org> Date: Fri, 9 Feb 2024 17:29:23 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5702bebf9de4f57fc27cbfb48f340211aeba443b commit 5702bebf9de4f57fc27cbfb48f340211aeba443b 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