[PATCH] dwarf_ranges.c: Prevent null pointer dereference in dwarf_ranges

ant.v.moryakov@gmail.com ant.v.moryakov@gmail.com
Wed Oct 23 10:40:29 GMT 2024


From: AntonMoryakov <ant.v.moryakov@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



More information about the Elfutils-devel mailing list