The strchr and strrchr interceptors are sometimes invoked too early for
their REAL() counterparts to be initialized. A special check is added to
use internal_ routines for this situation.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Do these calls happen in libc? What's the reproducer? I wonder if there are any correctness implications because of this.
Comment Actions
These are seen only with certain hooks invoked from tcmalloc on the dlsym() used in initializing interceptors. The other sanitizers all either use a custom allocator or avoid tcmalloc, while we'd prefer to leave the app heap layout as-is to better study its memory behavior, explaining why this was not seen before.
Comment Actions
Please add the information you gave in your answer to Mike to the commit message. Just a small example will do.
Something like:
"We have seen this in hooks invoked from tcmalloc on the dlsym() used in initializing interceptors" would be enough.
Thank you!