Xz Backdoor, Cybersecurity.
typedef void (*foo_t)(); void foo() __attribute__((__ifunc__("foo_resolver"))); foo_t foo_resolver() { char *path; printf("do foo_resolver\n"); path = getenv("FOO"); if (path) return foo_1; else return foo_2; } void __attribute__((constructor)) initFunc(void) { printf("do initFunc.\n"); } int