[llvm-bugs] [Bug 44500] New: CFI broken with dlsym()
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jan 9 08:05:16 PST 2020
https://bugs.llvm.org/show_bug.cgi?id=44500
Bug ID: 44500
Summary: CFI broken with dlsym()
Product: new-bugs
Version: 9.0
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: henrik at gramner.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
CFI always considers indirect calls to function pointers returned by dlsym() to
have the wrong function signature, even though they're correct, resulting in
SIGILL.
Minimal code sample (compiled with -flto -fvisibility=hidden -fsanitize=cfi
-ldl):
#define _GNU_SOURCE
#include <dlfcn.h>
int main(int arc, char *argv[]) {
int (*p)(const char*) = dlsym(RTLD_DEFAULT, "puts");
if (p) p("hello!");
return 0;
}
--
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/20200109/3e931f7e/attachment-0001.html>
More information about the llvm-bugs
mailing list