[PATCH] Fix 'array subscript is above array bounds' warning in res_send.c
Siddhesh Poyarekar
siddhesh@redhat.com
Tue Dec 16 10:45:00 GMT 2014
On Tue, Dec 16, 2014 at 11:17:04AM +0100, Andreas Schwab wrote:
> Siddhesh Poyarekar <siddhesh@redhat.com> writes:
>
> > diff --git a/resolv/res_send.c b/resolv/res_send.c
> > index 4a95eb8..5a9882c 100644
> > --- a/resolv/res_send.c
> > +++ b/resolv/res_send.c
> > @@ -429,7 +429,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
> > while (ns < MAXNS
> > && EXT(statp).nsmap[ns] != MAXNS)
> > ns++;
> > - if (ns == MAXNS)
> > + if (ns >= MAXNS)
>
> How is that possible?
The warning is seen on -O3. The actual access beyond array bounds
shouldn't ever happen since nscount is always set to less than MAXNS.
the compiler however does not know this and hence warns for the
possibility of both nscount's being greater than MAXNS.
So this does not actually fix a bug, only the warning.
Siddhesh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20141216/d6890f44/attachment.sig>
More information about the Libc-alpha
mailing list