summaryrefslogtreecommitdiff
path: root/libdw/encoded-value.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdw/encoded-value.h')
-rw-r--r--libdw/encoded-value.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libdw/encoded-value.h b/libdw/encoded-value.h
index d4e01924..4566ef96 100644
--- a/libdw/encoded-value.h
+++ b/libdw/encoded-value.h
@@ -196,10 +196,14 @@ read_encoded_value (const Dwarf_CFI *cache, uint8_t encoding,
break;
case DW_EH_PE_uleb128:
+ if (*p >= endp)
+ goto invalid_data;
get_uleb128 (value, *p, endp);
break;
case DW_EH_PE_sleb128:
+ if (*p >= endp)
+ goto invalid_data;
get_sleb128 (value, *p, endp);
break;