public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Adhemerval Zanella <azanella@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc/azanella/clang] resolv: Suppress clang -Wsometimes-uninitialized on getaddrinfo
Date: Tue,  2 Apr 2024 15:51:14 +0000 (GMT)	[thread overview]
Message-ID: <20240402155114.30C293858287@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=642265826264018649044eaf6f4b4e3326ed1134

commit 642265826264018649044eaf6f4b4e3326ed1134
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
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

             reply	other threads:[~2024-04-02 15:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 15:51 Adhemerval Zanella [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-17 20:05 Adhemerval Zanella
2024-02-09 17:29 Adhemerval Zanella
2024-02-07 14:04 Adhemerval Zanella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240402155114.30C293858287@sourceware.org \
    --to=azanella@sourceware.org \
    --cc=glibc-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).