]> granicus.if.org Git - strace/blobdiff - dirent64.c
Fix the length argument passed from print_iovec to decode_netlink
[strace] / dirent64.c
index 3c90a258c810410bac4e1ec9b589034dcf1c409c..448a2f1a5ea10117c4704a4c7700d7692eb59fc5 100644 (file)
@@ -49,9 +49,12 @@ SYS_FUNC(getdents64)
                tprints(", ");
                return 0;
        }
+
+       const unsigned int count = tcp->u_arg[2];
+
        if (syserror(tcp) || !verbose(tcp)) {
                printaddr(tcp->u_arg[1]);
-               tprintf(", %lu", tcp->u_arg[2]);
+               tprintf(", %u", count);
                return 0;
        }
 
@@ -67,7 +70,7 @@ SYS_FUNC(getdents64)
                buf = malloc(len);
                if (!buf || umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
                        printaddr(tcp->u_arg[1]);
-                       tprintf(", %lu", tcp->u_arg[2]);
+                       tprintf(", %u", count);
                        free(buf);
                        return 0;
                }
@@ -117,7 +120,7 @@ SYS_FUNC(getdents64)
                tprints("]");
        else
                tprintf("/* %u entries */", dents);
-       tprintf(", %lu", tcp->u_arg[2]);
+       tprintf(", %u", count);
        free(buf);
        return 0;
 }