From: Roland McGrath Date: Tue, 20 May 2008 01:43:09 +0000 (+0000) Subject: 2008-05-19 Roland McGrath X-Git-Tag: v4.5.18~73 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4d7ed02fbc825d966fcbe46f0fdf9dd12479b13d;p=strace 2008-05-19 Roland McGrath * signal.c (sys_kill): When current personality's wordsize is smaller than native, sign-extend the PID argument from 32 bits. Fixes RH#430585. --- diff --git a/signal.c b/signal.c index 874e3d52..06773321 100644 --- a/signal.c +++ b/signal.c @@ -1735,7 +1735,13 @@ sys_kill(tcp) struct tcb *tcp; { if (entering(tcp)) { - tprintf("%ld, %s", tcp->u_arg[0], signame(tcp->u_arg[1])); + /* + * Sign-extend a 32-bit value when that's what it is. + */ + long pid = tcp->u_arg[0]; + if (personality_wordsize[current_personality] < sizeof pid) + pid = (long) (int) pid; + tprintf("%ld, %s", pid, signame(tcp->u_arg[1])); } return 0; }