diff options
Diffstat (limited to 'libdw/dwarf_formblock.c')
-rw-r--r-- | libdw/dwarf_formblock.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libdw/dwarf_formblock.c b/libdw/dwarf_formblock.c index 6d7b9d39..4eb815c4 100644 --- a/libdw/dwarf_formblock.c +++ b/libdw/dwarf_formblock.c @@ -95,9 +95,10 @@ dwarf_formblock (attr, return_block) return -1; } - if (return_block->data + return_block->length - > ((unsigned char *) attr->cu->dbg->sectiondata[IDX_debug_info]->d_buf - + attr->cu->dbg->sectiondata[IDX_debug_info]->d_size)) + if (unlikely (cu_data (attr->cu)->d_size + - (return_block->data + - (unsigned char *) cu_data (attr->cu)->d_buf) + < return_block->length)) { /* Block does not fit. */ __libdw_seterrno (DWARF_E_INVALID_DWARF); |