// clang -fvisibility=hidden -flto -fno-sanitize-trap=all -fsanitize=cfi-icall clang.c #include void admin_stuff(); void user_stuff(); int main() { void (*fp[])() = {&admin_stuff, &user_stuff}; int choice; printf("Enter choice:\n0) Admin\n1) User\n"); scanf("%d", &choice); (*fp[choice])(); return 0; } void admin_stuff() { printf("admin stuff\n"); } void user_stuff() { printf("user stuff\n"); }