[gdb] Fix segfault in solib_contains_address_p
Starting commit bb2a6777 "Use a std::vector in target_section_table" we run into: ... ERROR: GDB process no longer exists GDB process exited with wait status 22239 exp12 0 0 CHILDKILLED SIGABRT UNRESOLVED: gdb.base/exec-invalid-sysroot.exp: continue to exec catchpoint ... which reproduces as: ... Thread 1 "gdb" received signal SIGSEGV, Segmentation fault. solib_contains_address_p (address=4196111, solib=0x1dd9970) at /home/vries/gdb_versions/devel/src/gdb/solib.c:1120 1120 for (target_section &p : solib->sections->sections) (gdb) p solib->sections->sections Cannot access memory at address 0x0 ... Fix this by handling solib->sections == nullptr in solib_contains_address_p. Build and reg-tested on x86_64-linux. gdb/ChangeLog: 2020-10-14 Tom de Vries <tdevries@suse.de> PR gdb/26733 * solib.c (solib_contains_address_p): Handle 'solib->sections == nullptr'.
parent
7b47a312
Please register or sign in to comment