__sanitizer_metadata_covered_del() uses ConsumeRelativePC() to compute a PC
contained in the module. ConsumeRelativePC() takes the current entry as an
inout param, however, we use the same variable later for logging:
auto [mod, _] = FindFunc(ConsumeRelativePC(start, end, version), false);
...
SAN_LOG("unloaded covered metadata from %p-%p", start, end);
Because start is advanced, this would print a subtly different address range
than intended.
core/semantic_metadata: Fix logging message
__sanitizer_metadata_covered_del() uses ConsumeRelativePC() to compute a PC contained in the module. ConsumeRelativePC() takes the current entry as an inout param, however, we use the same variable later for logging:
Because
start
is advanced, this would print a subtly different address range than intended.Fix it by copying
start
.