sa.sa_handler = segfault;
        sigemptyset(&sa.sa_mask);
        sa.sa_flags = SA_NODEFER;
-       sigaction(SIGSEGV, &sa, &old);
+       if (sigaction(SIGSEGV, &sa, &old)) {
+               perror("os_get_task_size");
+               exit(1);
+       }
 
        if (!page_ok(bottom)) {
                fprintf(stderr, "Address 0x%x no good?\n",
 
 out:
        /* Restore the old SIGSEGV handling */
-       sigaction(SIGSEGV, &old, NULL);
-
+       if (sigaction(SIGSEGV, &old, NULL)) {
+               perror("os_get_task_size");
+               exit(1);
+       }
        top <<= UM_KERN_PAGE_SHIFT;
        printf("0x%x\n", top);
-       fflush(stdout);
 
        return top;
 }