From e3eb4852487b941a9efb4bbcc8b6fb5f522b8298 Mon Sep 17 00:00:00 2001 From: Aaron Merey Date: Thu, 27 Feb 2020 12:52:05 -0500 Subject: [PATCH] gdb: Check for nullptr when computing srcpath gdb/ChangeLog: 2020-02-27 Aaron Merey * source.c (open_source_file): Check for nullptr when computing srcpath. --- gdb/ChangeLog | 4 ++++ gdb/source.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4376161673..371ef91421 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-02-27 Aaron Merey + * source.c (open_source_file): Check for nullptr when computing + srcpath. + 2020-02-27 Andrew Burgess * gdbtypes.c (create_array_type_with_stride): Use std::abs not diff --git a/gdb/source.c b/gdb/source.c index 051caf5c57..29eeb5341b 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -1160,7 +1160,7 @@ open_source_file (struct symtab *s) std::string srcpath; if (IS_ABSOLUTE_PATH (s->filename)) srcpath = s->filename; - else + else if (SYMTAB_DIRNAME (s) != nullptr) { srcpath = SYMTAB_DIRNAME (s); srcpath += SLASH_STRING; @@ -1170,7 +1170,7 @@ open_source_file (struct symtab *s) const struct bfd_build_id *build_id = build_id_bfd_get (ofp->obfd); /* Query debuginfod for the source file. */ - if (build_id != nullptr) + if (build_id != nullptr && srcpath.size () > 0) fd = debuginfod_source_query (build_id->data, build_id->size, srcpath.c_str (), -- 2.24.1