powerpc: Fix unitialized variable
Commit Message
On 12/11/2014 12:54 PM, Andreas Schwab wrote:
> Stefan Liebler <stli@linux.vnet.ibm.com> writes:
>
>> + /* There´s the following warning on S390:
>
> Please avoid non-ascii.
>
> Andreas.
>
Oh. Ok. Here is it without ´.
---
2014-12-11 Stefan Liebler <stli@linux.vnet.ibm.com>
resolv/res_send.c (send_vc): Disable warning resplen may
be used uninitialized.
Comments
On 11-12-2014 09:58, Stefan Liebler wrote:
> On 12/11/2014 12:54 PM, Andreas Schwab wrote:
>> Stefan Liebler <stli@linux.vnet.ibm.com> writes:
>>
>>> + /* There´s the following warning on S390:
>>
>> Please avoid non-ascii.
>>
>> Andreas.
>>
> Oh. Ok. Here is it without ´.
I was about to send a similar patch.
>
> ---
> 2014-12-11 Stefan Liebler <stli@linux.vnet.ibm.com>
>
> resolv/res_send.c (send_vc): Disable warning resplen may
> be used uninitialized.
>
> res_send_11122014
>
>
> diff --git a/resolv/res_send.c b/resolv/res_send.c
> index af42b8a..22b322c 100644
> --- a/resolv/res_send.c
> +++ b/resolv/res_send.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 <unistd.h>
> #include <kernel-features.h>
> +#include <libc-internal.h>
>
> #if PACKETSZ > 65536
> #define MAXPACKET PACKETSZ
> @@ -668,7 +669,17 @@ send_vc(res_state statp,
> // int anssiz = *anssizp;
> HEADER *anhp = (HEADER *) ans;
> struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
> - int truncating, connreset, resplen, n;
> + int truncating, connreset, n;
> + /* There is the following warning on S390:
> + 'resplen' may be used uninitialized in this function
> + [-Wmaybe-uninitialized]
> + This is a false positive according to:
> + https://www.sourceware.org/ml/libc-alpha/2014-12/msg00323.html
> + */
> + DIAG_PUSH_NEEDS_COMMENT;
> + DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> + int resplen;
> + DIAG_POP_NEEDS_COMMENT;
I would a comment saying it the compiler emits if architecture does not
define '_STRING_ARCH_unaligned', instead of just for S390.
> struct iovec iov[4];
> u_short len;
> u_short len2;
> @@ -788,8 +799,11 @@ send_vc(res_state statp,
> reply. We can try to use the rest
> of the user-provided buffer. */
> #if _STRING_ARCH_unaligned
> + DIAG_PUSH_NEEDS_COMMENT;
> + DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> *anssizp2 = orig_anssizp - resplen;
> *ansp2 = *ansp + resplen;
> + DIAG_POP_NEEDS_COMMENT;
I am seeing the may be used uninitialized with GCC 4.7 and forward.
> #else
> int aligned_resplen
> = ((resplen + __alignof__ (HEADER) - 1)
@@ -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 <unistd.h>
#include <kernel-features.h>
+#include <libc-internal.h>
#if PACKETSZ > 65536
#define MAXPACKET PACKETSZ
@@ -668,7 +669,17 @@ send_vc(res_state statp,
// int anssiz = *anssizp;
HEADER *anhp = (HEADER *) ans;
struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
- int truncating, connreset, resplen, n;
+ int truncating, connreset, n;
+ /* There is the following warning on S390:
+ 'resplen' may be used uninitialized in this function
+ [-Wmaybe-uninitialized]
+ This is a false positive according to:
+ https://www.sourceware.org/ml/libc-alpha/2014-12/msg00323.html
+ */
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
+ int resplen;
+ DIAG_POP_NEEDS_COMMENT;
struct iovec iov[4];
u_short len;
u_short len2;
@@ -788,8 +799,11 @@ send_vc(res_state statp,
reply. We can try to use the rest
of the user-provided buffer. */
#if _STRING_ARCH_unaligned
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
*anssizp2 = orig_anssizp - resplen;
*ansp2 = *ansp + resplen;
+ DIAG_POP_NEEDS_COMMENT;
#else
int aligned_resplen
= ((resplen + __alignof__ (HEADER) - 1)