]> granicus.if.org Git - strace/blobdiff - ipc_shm.c
Fix the length argument passed from print_iovec to decode_netlink
[strace] / ipc_shm.c
index e8a8206b9be047b666a78d6bf510af347cb6e759..c4bdb87a154f9c49fa66a46e37bfe6f27bb587f1 100644 (file)
--- a/ipc_shm.c
+++ b/ipc_shm.c
 
 SYS_FUNC(shmget)
 {
-       if (tcp->u_arg[0])
-               tprintf("%#lx", tcp->u_arg[0]);
+       const int key = (int) tcp->u_arg[0];
+       if (key)
+               tprintf("%#x", key);
        else
                tprints("IPC_PRIVATE");
-       tprintf(", %lu, ", tcp->u_arg[1]);
+       tprintf(", %" PRI_klu ", ", tcp->u_arg[1]);
        if (printflags(shm_resource_flags, tcp->u_arg[2] & ~0777, NULL) != 0)
                tprints("|");
        print_numeric_umode_t(tcp->u_arg[2] & 0777);
@@ -57,7 +58,7 @@ SYS_FUNC(shmget)
 SYS_FUNC(shmat)
 {
        if (entering(tcp)) {
-               tprintf("%lu, ", tcp->u_arg[0]);
+               tprintf("%d, ", (int) tcp->u_arg[0]);
                if (indirect_ipccall(tcp)) {
                        printaddr(tcp->u_arg[3]);
                        tprints(", ");