mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
resolv: Suppress maybe uninitialized warning
In send_vc function at resolv/res_send.c, There is the following warning on some architectures: 'resplen' may be used uninitialized in this function [-Wmaybe-uninitialized] And this is a false positive. This patch suppress the compiler warning.
This commit is contained in:
committed by
Adhemerval Zanella
parent
9d9c0019e7
commit
48e435cd93
@@ -1,3 +1,9 @@
|
|||||||
|
2014-12-12 Stefan Liebler <stli@linux.vnet.ibm.com>
|
||||||
|
Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
* resolv/res_send.c (send_vc): Disable warning resplen may
|
||||||
|
be used uninitialized.
|
||||||
|
|
||||||
2014-12-12 Stefan Liebler <stli@linux.vnet.ibm.com>
|
2014-12-12 Stefan Liebler <stli@linux.vnet.ibm.com>
|
||||||
|
|
||||||
* nptl/tst-mutex6.c
|
* nptl/tst-mutex6.c
|
||||||
|
@@ -96,6 +96,7 @@ static const char rcsid[] = "$BINDId: res_send.c,v 8.38 2000/03/30 20:16:51 vixi
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <kernel-features.h>
|
#include <kernel-features.h>
|
||||||
|
#include <libc-internal.h>
|
||||||
|
|
||||||
#if PACKETSZ > 65536
|
#if PACKETSZ > 65536
|
||||||
#define MAXPACKET PACKETSZ
|
#define MAXPACKET PACKETSZ
|
||||||
@@ -668,7 +669,24 @@ send_vc(res_state statp,
|
|||||||
// int anssiz = *anssizp;
|
// int anssiz = *anssizp;
|
||||||
HEADER *anhp = (HEADER *) ans;
|
HEADER *anhp = (HEADER *) ans;
|
||||||
struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
|
struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
|
||||||
int truncating, connreset, resplen, n;
|
int truncating, connreset, n;
|
||||||
|
/* On some architectures compiler might emit a warning indicating
|
||||||
|
'resplen' may be used uninitialized. However if buf2 == NULL
|
||||||
|
then this code won't be executed; if buf2 != NULL, then first
|
||||||
|
time round the loop recvresp1 and recvresp2 will be 0 so this
|
||||||
|
code won't be executed but "thisresplenp = &resplen;" followed
|
||||||
|
by "*thisresplenp = rlen;" will be executed so that subsequent
|
||||||
|
times round the loop resplen has been initialized. So this is
|
||||||
|
a false-positive.
|
||||||
|
*/
|
||||||
|
#if __GNUC_PREREQ (4, 7)
|
||||||
|
DIAG_PUSH_NEEDS_COMMENT;
|
||||||
|
DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
|
||||||
|
#endif
|
||||||
|
int resplen;
|
||||||
|
#if __GNUC_PREREQ (4, 7)
|
||||||
|
DIAG_POP_NEEDS_COMMENT;
|
||||||
|
#endif
|
||||||
struct iovec iov[4];
|
struct iovec iov[4];
|
||||||
u_short len;
|
u_short len;
|
||||||
u_short len2;
|
u_short len2;
|
||||||
@@ -787,6 +805,10 @@ send_vc(res_state statp,
|
|||||||
/* No buffer allocated for the first
|
/* No buffer allocated for the first
|
||||||
reply. We can try to use the rest
|
reply. We can try to use the rest
|
||||||
of the user-provided buffer. */
|
of the user-provided buffer. */
|
||||||
|
#if __GNUC_PREREQ (4, 7)
|
||||||
|
DIAG_PUSH_NEEDS_COMMENT;
|
||||||
|
DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
|
||||||
|
#endif
|
||||||
#if _STRING_ARCH_unaligned
|
#if _STRING_ARCH_unaligned
|
||||||
*anssizp2 = orig_anssizp - resplen;
|
*anssizp2 = orig_anssizp - resplen;
|
||||||
*ansp2 = *ansp + resplen;
|
*ansp2 = *ansp + resplen;
|
||||||
@@ -796,6 +818,9 @@ send_vc(res_state statp,
|
|||||||
& ~(__alignof__ (HEADER) - 1));
|
& ~(__alignof__ (HEADER) - 1));
|
||||||
*anssizp2 = orig_anssizp - aligned_resplen;
|
*anssizp2 = orig_anssizp - aligned_resplen;
|
||||||
*ansp2 = *ansp + aligned_resplen;
|
*ansp2 = *ansp + aligned_resplen;
|
||||||
|
#endif
|
||||||
|
#if __GNUC_PREREQ (4, 7)
|
||||||
|
DIAG_POP_NEEDS_COMMENT;
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
/* The first reply did not fit into the
|
/* The first reply did not fit into the
|
||||||
|
Reference in New Issue
Block a user