Skip to content

Commit 96a649e

Browse files
committed
sanitize external addresses
Created using spr 1.3.4
1 parent 6dca3b5 commit 96a649e

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

bolt/lib/Profile/DataAggregator.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,8 +733,10 @@ bool DataAggregator::doBranch(uint64_t From, uint64_t To, uint64_t Count,
733733
// corresponds to a return (if \p IsFrom) or a call continuation (otherwise).
734734
auto handleAddress = [&](uint64_t &Addr, bool IsFrom) {
735735
BinaryFunction *Func = getBinaryFunctionContainingAddress(Addr);
736-
if (!Func)
736+
if (!Func) {
737+
Addr = 0;
737738
return std::pair{Func, false};
739+
}
738740

739741
Addr -= Func->getAddress();
740742

bolt/test/X86/pre-aggregated-perf.test

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,10 @@ BASIC-ERROR: BOLT-INFO: 0 out of 7 functions in the binary (0.0%) have non-empty
6767
BASIC-SUCCESS: BOLT-INFO: 4 out of 7 functions in the binary (57.1%) have non-empty execution profile
6868
CHECK-BASIC-NL: no_lbr cycles
6969

70-
PERF2BOLT: 0 [unknown] 7f36d18d60c0 1 main 53c 0 2
70+
PERF2BOLT: 0 [unknown] 0 1 main 53c 0 2
7171
PERF2BOLT: 1 main 451 1 SolveCubic 0 0 2
72-
PERF2BOLT: 1 main 490 0 [unknown] 4005f0 0 1
73-
PERF2BOLT: 1 main 537 0 [unknown] 400610 0 1
72+
PERF2BOLT: 1 main 490 0 [unknown] 0 0 1
73+
PERF2BOLT: 1 main 537 0 [unknown] 0 0 1
7474
PERF2BOLT: 1 usqrt 30 1 usqrt 32 0 22
7575
PERF2BOLT: 1 usqrt 30 1 usqrt 39 4 33
7676
PERF2BOLT: 1 usqrt 35 1 usqrt 39 0 22

0 commit comments

Comments
 (0)