libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libunwind-devel] [PATCH 1/3] Improve ELF valid_object() helper


From: Zachary T Welch
Subject: [Libunwind-devel] [PATCH 1/3] Improve ELF valid_object() helper
Date: Mon, 29 Nov 2010 20:10:07 -0800

Ensures the ELF header version is valid.

Signed-off-by: Zachary T Welch <address@hidden>

diff --git a/src/elfxx.c b/src/elfxx.c
index 06cc9bb..7ed44ba 100644
--- a/src/elfxx.c
+++ b/src/elfxx.c
@@ -32,11 +32,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.  */
 HIDDEN int
 elf_w (valid_object) (struct elf_image *ei)
 {
-  if (ei->size <= EI_CLASS)
+  if (ei->size <= EI_VERSION)
     return 0;
 
   return (memcmp (ei->image, ELFMAG, SELFMAG) == 0
-         && ((uint8_t *) ei->image)[EI_CLASS] == ELF_CLASS);
+         && ((uint8_t *) ei->image)[EI_CLASS] == ELF_CLASS
+         && ((uint8_t *) ei->image)[EI_VERSION] != EV_NONE
+         && ((uint8_t *) ei->image)[EI_VERSION] <= EV_CURRENT);
 }
 
 
-- 
1.7.2.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]