diff --git a/signal.c b/signal.c index d863e502..3626cf36 100644 --- a/signal.c +++ b/signal.c @@ -1140,13 +1140,12 @@ sys_sigprocmask(struct tcb *tcp) * Everyone else: * ret = sigprocmask(how, &new, &old, ...); */ - memcpy(&ss, &tcp->u_arg[1], sizeof(long)); printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???"); - tprints(", "); - printsigmask(&ss, 0); + long_to_sigset(tcp->u_arg[1], &ss); + tprints(sprintsigmask(", ", &ss, 0)); } else if (!syserror(tcp)) { - memcpy(&ss, &tcp->u_rval, sizeof(long)); + long_to_sigset(tcp->u_rval, &ss); tcp->auxstr = sprintsigmask("old mask ", &ss, 0); return RVAL_HEX | RVAL_STR; }