]> granicus.if.org Git - strace/commitdiff
Do not sign-extend siginfo_t.si_syscall
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 14:27:49 +0000 (14:27 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 14:35:02 +0000 (14:35 +0000)
* printsiginfo.c (print_si_info): Explicitly cast si_syscall member
of siginfo_t that has type "int" to "unsigned int", to avoid sign
extension when passed to syscall_name function.

printsiginfo.c

index 4083e19a7532bed0a9b828d468f1c5989573c18b..240fd65eb0b5cf8880827e3236d6cc1c76a82ff3 100644 (file)
@@ -198,7 +198,7 @@ print_si_info(const siginfo_t *sip, bool verbose)
                case SIGSYS:
                        tprintf(", si_call_addr=%#lx, si_syscall=__NR_%s, si_arch=",
                                (unsigned long) sip->si_call_addr,
-                               syscall_name(sip->si_syscall));
+                               syscall_name((unsigned) sip->si_syscall));
                        printxval(audit_arch, sip->si_arch, "AUDIT_ARCH_???");
                        break;
 #endif