From: AntonMoryakov <ant.v.morya...@gmail.com>

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

Reply via email to