[llvm-bugs] [Bug 47905] New: CFG regression in sqlite3 function tables after cfd8481da1adba1952e0f6ecd00440986e49a946
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Oct 19 10:03:33 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=47905
Bug ID: 47905
Summary: CFG regression in sqlite3 function tables after
cfd8481da1adba1952e0f6ecd00440986e49a946
Product: new-bugs
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: dmajor at mozilla.com
CC: andrew.paverd at microsoft.com, htmldeveloper at gmail.com,
llvm-bugs at lists.llvm.org, rnk at google.com
According to a comment in sqlite3, "Many system calls are accessed through
pointer-to-functions so that they may be overridden at runtime to facilitate
fault injection during testing and sandboxing."
This code pattern started being reported as an invalid call after
cfd8481da1adba1952e0f6ecd00440986e49a946:
t.c:
#include <windows.h>
typedef void (*sqlite3_syscall_ptr)(void);
sqlite3_syscall_ptr ptrs[] = { (sqlite3_syscall_ptr)GetSystemInfo, };
int main() {
SYSTEM_INFO info;
((VOID(WINAPI*)(LPSYSTEM_INFO))ptrs[0])(&info);
return 0;
}
Build with:
clang-cl -c -O2 -guard:cf t.c && lld-link -debug -guard:cf t.obj
--
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/20201019/8f49ffbc/attachment.html>
More information about the llvm-bugs
mailing list