From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 30C293858287; Tue, 2 Apr 2024 15:51:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30C293858287 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1712073074; bh=CP+cIdBi2tOQW6LqL3PL0IyazcHD4d8x+aN8zDeario=; h=From:To:Subject:Date:From; b=uvjn1zj1Ny5+VL83hxr+RwoquHCN2VRlHa/yK/7+SSkxf1ViViG57yC+VuutKW7Dv qzhx7L6QUDpib+CRC0YmmZgkbKTpfuthnJClHJmhSuMK5D6w38xARANSEFumtSeSK+ dfZF7d4Py9pMssVdWSDq7JDJH/wej8T4GfhtIJq4= 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: 8d93162c90b70c7eeaf83e198f5ed4609cd38c1e X-Git-Newrev: 642265826264018649044eaf6f4b4e3326ed1134 Message-Id: <20240402155114.30C293858287@sourceware.org> Date: Tue, 2 Apr 2024 15:51:14 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=642265826264018649044eaf6f4b4e3326ed1134 commit 642265826264018649044eaf6f4b4e3326ed1134 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