From: Dmitry V. Levin Date: Tue, 26 Apr 2016 17:41:44 +0000 (+0000) Subject: Fix decoding of LINUX_REBOOT_CMD_RESTART2 argument X-Git-Tag: v4.12~271 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b83bb1cc7a748158a3d969d09262f5016bd3dee5;p=strace Fix decoding of LINUX_REBOOT_CMD_RESTART2 argument * reboot.c (SYS_FUNC(reboot)): Cast numeric arguments to unsigned int. --- diff --git a/reboot.c b/reboot.c index ebe3def3..1669a3d1 100644 --- a/reboot.c +++ b/reboot.c @@ -6,12 +6,16 @@ SYS_FUNC(reboot) { - printflags(bootflags1, tcp->u_arg[0], "LINUX_REBOOT_MAGIC_???"); + const unsigned int magic1 = tcp->u_arg[0]; + const unsigned int magic2 = tcp->u_arg[1]; + const unsigned int cmd = tcp->u_arg[2]; + + printflags(bootflags1, magic1, "LINUX_REBOOT_MAGIC_???"); tprints(", "); - printflags(bootflags2, tcp->u_arg[1], "LINUX_REBOOT_MAGIC_???"); + printflags(bootflags2, magic2, "LINUX_REBOOT_MAGIC_???"); tprints(", "); - printflags(bootflags3, tcp->u_arg[2], "LINUX_REBOOT_CMD_???"); - if (tcp->u_arg[2] == (long) LINUX_REBOOT_CMD_RESTART2) { + printflags(bootflags3, cmd, "LINUX_REBOOT_CMD_???"); + if (cmd == LINUX_REBOOT_CMD_RESTART2) { tprints(", "); printstr(tcp, tcp->u_arg[3], -1); }