aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Mezentsev <vladimir.mezentsev@oracle.com>2025-01-16 20:29:34 -0800
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>2025-01-17 08:26:45 -0800
commit6f5fae607de7aa257cb9c75fb30e306cdc52512f (patch)
tree1592d77693725e148c75c9e59005a81127e26f50
parent3b44637d9d891bf80db26d053561e843dc4d9f48 (diff)
downloadgdb-6f5fae607de7aa257cb9c75fb30e306cdc52512f.zip
gdb-6f5fae607de7aa257cb9c75fb30e306cdc52512f.tar.gz
gdb-6f5fae607de7aa257cb9c75fb30e306cdc52512f.tar.bz2
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 <vladimir.mezentsev@oracle.com> * src/Hist_data.cc (DbeInstr::mapPCtoLine): Check for null pointer.
-rw-r--r--gprofng/src/Hist_data.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gprofng/src/Hist_data.cc b/gprofng/src/Hist_data.cc
index 334c5e1..0a373a5 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;
}