summaryrefslogtreecommitdiff
path: root/libdw
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2010-02-02 20:44:53 +0100
committerMark Wielaard <mjw@redhat.com>2010-02-02 20:55:24 +0100
commitee29a31c48e4b1ec606a311cba0a6328ce8ea448 (patch)
tree5abdc90073733ccf8abad4904048d6aabe85a9e7 /libdw
parenteacdcf3e86653b97932f3d6e35c9271b3f406369 (diff)
downloadelfutils-ee29a31c48e4b1ec606a311cba0a6328ce8ea448.tar.gz
libdw/fde.c (intern_fde): Fix length check for sized_augmentation_data.
Diffstat (limited to 'libdw')
-rw-r--r--libdw/ChangeLog4
-rw-r--r--libdw/fde.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 97f87da0..a348b7e2 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,7 @@
+2010-02-02 Mark Wielaard <mjw@redhat.com>
+
+ * fde.c (intern_fde): Fix length check for sized_augmentation_data.
+
2010-01-07 Roland McGrath <roland@redhat.com>
* dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum.
diff --git a/libdw/fde.c b/libdw/fde.c
index f38eed7e..c826114c 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);