From: Vladimir Mezentsev Date: Fri, 17 Jan 2025 04:29:34 +0000 (-0800) Subject: gprofng: fix Segmentation Fault in DbeInstr::mapPCtoLine X-Git-Tag: binutils-2_44~47 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f5fae607de7aa257cb9c75fb30e306cdc52512f;p=thirdparty%2Fbinutils-gdb.git gprofng: fix Segmentation Fault in DbeInstr::mapPCtoLine The bug was filed against gprofng-gui (https://savannah.gnu.org/bugs/?66560). gprofng/ChangeLog 2025-01-16 Vladimir Mezentsev * src/Hist_data.cc (DbeInstr::mapPCtoLine): Check for null pointer. --- diff --git a/gprofng/src/Hist_data.cc b/gprofng/src/Hist_data.cc index 334c5e12113..0a373a5d14b 100644 --- a/gprofng/src/Hist_data.cc +++ b/gprofng/src/Hist_data.cc @@ -1391,7 +1391,8 @@ DbeInstr::mapPCtoLine (SourceFile *sf) if (inlinedInd >= 0) { DbeLine *dl = func->inlinedSubr[inlinedInd].dbeLine; - return dl->sourceFile->find_dbeline (func, dl->lineno); + if (dl) + return dl->sourceFile->find_dbeline (func, dl->lineno); } return func->mapPCtoLine (addr, sf); } @@ -1422,7 +1423,9 @@ DbeInstr::add_inlined_info (StringBuilder *sb) sb->append (' '); } DbeLine *dl = p->dbeLine; - sb->appendf (NTXT ("%s:%lld <-- "), get_basename (dl->sourceFile->get_name ()), (long long) dl->lineno); + if (dl) + sb->appendf ("%s:%lld <-- ", get_basename (dl->sourceFile->get_name ()), + (long long) dl->lineno); } last = p; }