diff options
author | Paul Pluzhnikov <ppluzhnikov@google.com> | 2012-05-02 14:35:30 -0700 |
---|---|---|
committer | Paul Pluzhnikov <ppluzhnikov@google.com> | 2012-05-02 14:35:30 -0700 |
commit | 171a70b4c0173533f6f803ec6bc8c2ed910cc468 (patch) | |
tree | fa625901840c68756b5e4f86e6373c28b6b9d43e | |
parent | ff8a695b6d740e45b9e4b7ca454cdbca4f04ed7a (diff) | |
download | glibc-171a70b4c0173533f6f803ec6bc8c2ed910cc468.zip glibc-171a70b4c0173533f6f803ec6bc8c2ed910cc468.tar.gz glibc-171a70b4c0173533f6f803ec6bc8c2ed910cc468.tar.bz2 |
For PR 14055, add bounds check to _dl_show_auxv().
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | elf/dl-sysdep.c | 6 |
3 files changed, 10 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2012-05-02 Paul Pluzhnikov <ppluzhnikov@google.com> + + [BZ #14055] + * elf/dl-sysdep.c (_dl_show_auxv): Add bounds check. + 2012-05-02 Andreas Jaeger <aj@suse.de> * math/Makefile (CPPFLAGS-test-ildoubl.c): Add -frounding-math @@ -23,7 +23,7 @@ Version 2.16 13873, 13879, 13883, 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13963, 13967, 13970, 13973, 14027, - 14033, 14034, 14040 + 14033, 14034, 14040, 14055 * ISO C11 support: diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c index 1cb4460..ea505a6 100644 --- a/elf/dl-sysdep.c +++ b/elf/dl-sysdep.c @@ -1,5 +1,5 @@ /* Operating system support for run-time dynamic linker. Generic Unix version. - Copyright (C) 1995-1998,2000-2008,2009,2010 + Copyright (C) 1995-1998,2000-2010,2012 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -303,7 +303,9 @@ _dl_show_auxv (void) }; unsigned int idx = (unsigned int) (av->a_type - 2); - if ((unsigned int) av->a_type < 2u || auxvars[idx].form == ignore) + if ((unsigned int) av->a_type < 2u + || (idx < sizeof (auxvars) / sizeof (auxvars[0]) + && auxvars[idx].form == ignore)) continue; assert (AT_NULL == 0); |