[llvm-bugs] [Bug 32895] New: Problems intercepting strnlen on Windows 10 build 1703

via llvm-bugs llvm-bugs at lists.llvm.org
Tue May 2 10:59:27 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=32895

            Bug ID: 32895
           Summary: Problems intercepting strnlen on Windows 10 build 1703
           Product: compiler-rt
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: compiler-rt
          Assignee: unassignedbugs at nondot.org
          Reporter: dmajor at mozilla.com
                CC: llvm-bugs at lists.llvm.org

Originally filed as https://bugzilla.mozilla.org/show_bug.cgi?id=1361185

strnlen changed in Windows 10 build 1703 (Creators Update) leading to two
problems in ASan's interceptors:

1) ucrtbase!strnlen now starts with:
8b052a0a0c00    mov     eax,dword ptr [ucrtbase!_isa_available]
which is unrecognized by GetInstructionSize().

2) There are now two different implementations of strnlen in the system
libraries: ntdll!strnlen and ucrtbase!strnlen. Because of the way that
OverrideFunction() loops over InterestingDLLsAvailable(), ASan ends up
detouring both functions to the same place, which is bad when they both try to
use the same return pointer at __interception::real_strnlen.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170502/ea212fe0/attachment.html>


More information about the llvm-bugs mailing list