diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-03-22 16:01:34 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-04-17 16:12:10 -0300 |
commit | 817b755cceb2504121b37c4274bef36d6bc17adc (patch) | |
tree | 5ad3a65f952435d4a2268b6c8c168d18d996d098 | |
parent | 413a452b5c6e68c90cc85dac19e1142eba88db28 (diff) | |
download | glibc-817b755cceb2504121b37c4274bef36d6bc17adc.tar.gz glibc-817b755cceb2504121b37c4274bef36d6bc17adc.tar.xz glibc-817b755cceb2504121b37c4274bef36d6bc17adc.zip |
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.
-rw-r--r-- | nss/getaddrinfo.c | 11 |
1 files changed, 11 insertions, 0 deletions
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 |