Properly return error when searching for unwind table entry for an IP
that is less than the first available table entry.
---
src/arm/Gex_tables.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/arm/Gex_tables.c b/src/arm/Gex_tables.c
index 1fc3ea2..d78fbaf 100644
--- a/src/arm/Gex_tables.c
+++ b/src/arm/Gex_tables.c
@@ -397,7 +397,7 @@ tdep_search_unwind_table (unw_addr_space_t as, unw_word_t
ip,
unw_word_t last = di->u.rti.table_data + di->u.rti.table_len - 8;
unw_word_t entry, val;
- if (prel31_to_addr (as, arg, first, &val) < 0 && ip < val)
+ if (prel31_to_addr (as, arg, first, &val) < 0 || ip < val)
return -UNW_ENOINFO;
if (prel31_to_addr (as, arg, last, &val) < 0)
--
1.7.2.5
_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel