]> granicus.if.org Git - strace/commitdiff
ptrace: print request using printxval64
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 14:45:38 +0000 (14:45 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 14:47:01 +0000 (14:47 +0000)
As first argument of ptrace syscall has a long integer type, print
it using printxval64 because printxval takes unsigned int argument.

* process.c (SYS_FUNC(ptrace)): Change type of "request" variable
from "long" to "unsigned long", print it using printxval64 instead
of printxval.

process.c

index 1526dd64a816a4a2fc4ddb9de9ead3b07ccffddf..b2dfac193b05ce9e7520801975f346097b93bf03 100644 (file)
--- a/process.c
+++ b/process.c
@@ -82,15 +82,19 @@ print_user_offset_addr(const unsigned long addr)
 
 SYS_FUNC(ptrace)
 {
-       const long request = tcp->u_arg[0];
+       const unsigned long request = tcp->u_arg[0];
        const int pid = tcp->u_arg[1];
        const unsigned long addr = tcp->u_arg[2];
        const unsigned long data = tcp->u_arg[3];
 
        if (entering(tcp)) {
-               printxval(ptrace_cmds, request, "PTRACE_???");
+               /* request */
+               printxval64(ptrace_cmds, request, "PTRACE_???");
+
+               /* pid */
                tprintf(", %d, ", pid);
 
+               /* addr */
                switch (request) {
                case PTRACE_PEEKUSER:
                case PTRACE_POKEUSER: