]> granicus.if.org Git - strace/commitdiff
ipc_sem: print 4th argument of semctl syscall as an address
authorEugene Syromyatnikov <evgsyr@gmail.com>
Thu, 15 Dec 2016 15:34:16 +0000 (18:34 +0300)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 26 Dec 2016 15:05:41 +0000 (15:05 +0000)
* ipc_sem.c (SYS_FUNC(semctl)): Print 4th argument using printaddr.
* tests/ipc_sem.c (cleanup): Update expected output.

ipc_sem.c
tests/ipc_sem.c

index b2a7e1252f3e00c11de3a615670d773cccd2a3d4..4a7037839f3f8a6e15cf00d325f792409ce8eb97 100644 (file)
--- a/ipc_sem.c
+++ b/ipc_sem.c
@@ -126,7 +126,7 @@ SYS_FUNC(semctl)
           ) {
                printnum_ptr(tcp, tcp->u_arg[3]);
        } else {
-               tprintf("%#" PRI_klx, tcp->u_arg[3]);
+               printaddr(tcp->u_arg[3]);
        }
        return RVAL_DECODED;
 }
index 926fa898d7c02f0261248d535dd2cda46b3672b1..5524b868402426d12d0fd4a81297405acd19c133 100644 (file)
@@ -49,7 +49,8 @@ static void
 cleanup(void)
 {
        semctl(id, 0, IPC_RMID, 0);
-       printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?0\\]?\\) += 0\n", id);
+       printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?NULL\\]?\\) += 0\n",
+              id);
        id = -1;
 }
 
@@ -91,7 +92,7 @@ main(void)
 #ifdef __GLIBC__
 # define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\])"
 #else
-# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\]|0)"
+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\]|NULL)"
 #endif
        printf("semctl\\(%d, %d, (IPC_64\\|)?%#x /\\* SEM_\\?\\?\\? \\*/"
               ", " SEMCTL_BOGUS_ARG_FMT "\\) += %s\n",