diff --git a/signal.c b/signal.c index cb200bfd..5b530cf4 100644 --- a/signal.c +++ b/signal.c @@ -545,7 +545,7 @@ decode_new_sigaction(struct tcb *tcp, long addr) * For little-endian, it's the same. * For big-endian, we swap 32-bit words. */ - sa.sa_mask[0] = sa32.sa_mask[0] + ((long)(sa32.sa_mask[1]) << 32); + sa.sa_mask[0] = LONG_LONG(sa32.sa_mask[0], sa32.sa_mask[1]); } else #endif if (umove_or_printaddr(tcp, addr, &sa))