]> granicus.if.org Git - strace/commitdiff
ptrace: decode arguments of PTRACE_[GS]ETSIGMASK requests
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 16:52:49 +0000 (16:52 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 13 May 2016 01:39:41 +0000 (01:39 +0000)
* process.c (SYS_FUNC(ptrace)): Print arguments of PTRACE_GETSIGMASK
and PTRACE_SETSIGMASK requests using print_sigset_addr_len.

process.c

index a239ceb09e37172a3d7c977755ca616331809f93..afac431a2c18e6d4773cc253e93de458a968ab40 100644 (file)
--- a/process.c
+++ b/process.c
@@ -197,6 +197,9 @@ SYS_FUNC(ptrace)
                case PTRACE_SETSIGINFO:
                        printsiginfo_at(tcp, data);
                        break;
+               case PTRACE_SETSIGMASK:
+                       print_sigset_addr_len(tcp, data, addr);
+                       break;
                case PTRACE_SETREGSET:
                        tprint_iov(tcp, /*len:*/ 1, data, /*as string:*/ 0);
                        break;
@@ -207,6 +210,7 @@ SYS_FUNC(ptrace)
 #endif
                case PTRACE_GETREGSET:
                case PTRACE_GETSIGINFO:
+               case PTRACE_GETSIGMASK:
                        if (verbose(tcp)) {
                                /* print data on exiting syscall */
                                return 0;
@@ -230,6 +234,9 @@ SYS_FUNC(ptrace)
                case PTRACE_GETSIGINFO:
                        printsiginfo_at(tcp, data);
                        break;
+               case PTRACE_GETSIGMASK:
+                       print_sigset_addr_len(tcp, data, addr);
+                       break;
                case PTRACE_GETREGSET:
                        tprint_iov(tcp, /*len:*/ 1, data, /*as string:*/ 0);
                        break;