]> granicus.if.org Git - strace/commitdiff
sendmsg: do not decode msghdr in non-verbose mode
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 28 Jan 2015 01:52:25 +0000 (01:52 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 28 Jan 2015 01:52:25 +0000 (01:52 +0000)
* net.c (printmsghdr): Do not decode struct msghdr in non-verbose mode.

net.c

diff --git a/net.c b/net.c
index bba03755b34a301758e2cff67b0d57c6d347b4f5..875354b8af65bbc48092e39d478f803163804e85 100644 (file)
--- a/net.c
+++ b/net.c
@@ -604,7 +604,7 @@ printmsghdr(struct tcb *tcp, long addr, unsigned long data_size)
 {
        struct msghdr msg;
 
-       if (extractmsghdr(tcp, addr, &msg))
+       if (verbose(tcp) && extractmsghdr(tcp, addr, &msg))
                do_msghdr(tcp, &msg, data_size);
        else
                tprintf("%#lx", addr);
@@ -949,7 +949,7 @@ sys_recvmsg(struct tcb *tcp)
                printfd(tcp, tcp->u_arg[0]);
                tprints(", ");
        } else {
-               if (syserror(tcp) || !verbose(tcp))
+               if (syserror(tcp))
                        tprintf("%#lx", tcp->u_arg[1]);
                else
                        printmsghdr(tcp, tcp->u_arg[1], tcp->u_rval);