From ee29a31c48e4b1ec606a311cba0a6328ce8ea448 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 2 Feb 2010 20:44:53 +0100 Subject: [PATCH] libdw/fde.c (intern_fde): Fix length check for sized_augmentation_data. --- libdw/ChangeLog | 4 ++++ libdw/fde.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 97f87da07..a348b7e26 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,7 @@ +2010-02-02 Mark Wielaard + + * fde.c (intern_fde): Fix length check for sized_augmentation_data. + 2010-01-07 Roland McGrath * dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum. diff --git a/libdw/fde.c b/libdw/fde.c index f38eed7e3..c826114c2 100644 --- a/libdw/fde.c +++ b/libdw/fde.c @@ -115,7 +115,7 @@ intern_fde (Dwarf_CFI *cache, const Dwarf_FDE *entry) before its actual instruction stream. */ Dwarf_Word len; get_uleb128 (len, fde->instructions); - if ((Dwarf_Word) (fde->instructions_end < fde->instructions) < len) + if ((Dwarf_Word) (fde->instructions_end - fde->instructions) < len) { free (fde); __libdw_seterrno (DWARF_E_INVALID_DWARF); -- 2.47.2