Index: lib/Fuzzer/FuzzerTracePC.cpp =================================================================== --- lib/Fuzzer/FuzzerTracePC.cpp +++ lib/Fuzzer/FuzzerTracePC.cpp @@ -44,10 +44,15 @@ } void TracePC::HandleInit(uint32_t *Start, uint32_t *Stop) { - if (Start == Stop || *Start) return; + if (Start == Stop) return; assert(NumModules < sizeof(Modules) / sizeof(Modules[0])); for (uint32_t *P = Start; P < Stop; P++) - *P = ++NumGuards; + // Ignore zero padding. + if (*P) { + if (*P != 0xffffffff) // This module was initialized before. + return; + *P = ++NumGuards; + } Modules[NumModules].Start = Start; Modules[NumModules].Stop = Stop; NumModules++;