if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (long)regs) < 0) {
perror_msg("sigreturn: PTRACE_GETREGS");
- return 0;
+ return;
}
const long addr = regs[PT_USP] + offsetof(struct sigcontext, oldmask);
long addr;
if (upeek(tcp->pid, 4*PT_USP, &addr) < 0)
- return 0;
+ return;
/* Fetch pointer to struct sigcontext. */
if (umove(tcp, addr + 2 * sizeof(int), &addr) < 0)
- return 0;
+ return;
unsigned long mask[NSIG / 8 / sizeof(long)];
/* Fetch first word of signal mask. */
if (umove(tcp, addr, &mask[0]) < 0)
- return 0;
+ return;
/* Fetch remaining words of signal mask, located immediately before. */
addr -= sizeof(mask) - sizeof(long);
if (umoven(tcp, addr, sizeof(mask) - sizeof(long), &mask[1]) < 0)
- return 0;
+ return;
tprintsigmask_addr("{mask=", mask);
tprints("}");
/* Read r1, the stack pointer. */
if (upeek(tcp->pid, 1 * 4, &addr) < 0)
- return 0;
+ return;
addr += offsetof(struct sigcontext, oldmask);
tprints("{mask=");