From: AntonMoryakov <[email protected]>
Fix a bug that caused a null pointer dereference in the `dwarf_ranges` function.
Added a check for NULL before dereferencing the pointer `d` to prevent potential
segmentation faults.
---
libdw/dwarf_ranges.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libdw/dwarf_ranges.c b/libdw/dwarf_ranges.c
index b853e4b9..a4a04761 100644
--- a/libdw/dwarf_ranges.c
+++ b/libdw/dwarf_ranges.c
@@ -532,9 +532,10 @@ dwarf_ranges (Dwarf_Die *die, ptrdiff_t offset, Dwarf_Addr
*basep,
secidx, offset, 1))
return -1;
}
-
- readp = d->d_buf + offset;
- readendp = d->d_buf + d->d_size;
+ if(d != NULL){
+ readp = d->d_buf + offset;
+ readendp = d->d_buf + d->d_size;
+ }
Dwarf_Addr begin;
Dwarf_Addr end;
--
2.34.1