[libFuzzer] Use stoull instead of stol to ensure 64 bits.

Differential revision: https://reviews.llvm.org/D29831

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294769 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marcos Pividori 2017-02-10 18:44:14 +00:00
parent b5a88e2e66
commit fc4c8411e4

View File

@ -138,7 +138,7 @@ void TracePC::PrintCoverage() {
sizeof(ModulePathRaw), &OffsetRaw))
continue;
std::string Module = ModulePathRaw;
uintptr_t FixedPC = std::stol(FixedPCStr, 0, 16);
uintptr_t FixedPC = std::stoull(FixedPCStr, 0, 16);
uintptr_t PcOffset = reinterpret_cast<uintptr_t>(OffsetRaw);
ModuleOffsets[Module] = FixedPC - PcOffset;
CoveredPCsPerModule[Module].push_back(PcOffset);
@ -183,7 +183,7 @@ void TracePC::PrintCoverage() {
if (PcOffsetEnd == std::string::npos)
continue;
S.resize(PcOffsetEnd);
uintptr_t PcOffset = std::stol(S, 0, 16);
uintptr_t PcOffset = std::stoull(S, 0, 16);
if (!std::binary_search(CoveredOffsets.begin(), CoveredOffsets.end(),
PcOffset)) {
uintptr_t PC = ModuleOffset + PcOffset;