From 4d7ed02fbc825d966fcbe46f0fdf9dd12479b13d Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 20 May 2008 01:43:09 +0000 Subject: [PATCH] 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. --- signal.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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; } -- 2.50.1