diff options
author | Vladimir Mezentsev <vladimir.mezentsev@oracle.com> | 2025-01-16 20:29:34 -0800 |
---|---|---|
committer | Vladimir Mezentsev <vladimir.mezentsev@oracle.com> | 2025-01-17 08:26:45 -0800 |
commit | 6f5fae607de7aa257cb9c75fb30e306cdc52512f (patch) | |
tree | 1592d77693725e148c75c9e59005a81127e26f50 | |
parent | 3b44637d9d891bf80db26d053561e843dc4d9f48 (diff) | |
download | gdb-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.cc | 7 |
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; } |