#include #include #include #include static int print_personality (unsigned long persona, char const *msg) { int pers, err; errno = 0; pers = personality (persona); err = errno; printf ("personality (%s) returns 0x%x, errno=%d (%s)\n", msg, pers, err, strerror (err)); errno = err; return pers; } int main (void) { int pers; pers = print_personality (0xffffffff, "0xffffffff"); if (pers & ADDR_NO_RANDOMIZE) printf ("ADDR_NO_RANDOMIZE was set\n"); else { printf ("ADDR_NO_RANDOMIZE was clear\n"); pers = print_personality (pers | ADDR_NO_RANDOMIZE, "pers | ADDR_NO_RANDOMIZE"); if (0 <= personality) printf ("ADDR_NO_RANDOMIZE set successfully"); else printf ("ADDR_NO_RANDOMIZE could not be set"); } return 0; }