]> granicus.if.org Git - strace/commitdiff
block.c: fix printing of struct blk_user_trace_setup
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 26 May 2016 10:04:39 +0000 (10:04 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 26 May 2016 14:44:13 +0000 (14:44 +0000)
* block.c (block_ioctl): Fix printing of comma before
struct blk_user_trace_setup.name on exiting syscall.

block.c

diff --git a/block.c b/block.c
index f4fefe2840009b219d5a6294acf2e0af9b273339..755232aa89e27d83ef5b05be278d8fba15ca62c4 100644 (file)
--- a/block.c
+++ b/block.c
@@ -224,18 +224,11 @@ block_ioctl(struct tcb *tcp, const unsigned int code, const long arg)
                } else {
                        struct blk_user_trace_setup buts;
 
-                       if (syserror(tcp)) {
-                               tprints("}");
-                               break;
-                       }
-                       tprints(", ");
-                       if (umove(tcp, arg, &buts) < 0) {
-                               tprints("???}");
-                               break;
+                       if (!syserror(tcp) && !umove(tcp, arg, &buts)) {
+                               tprints(", name=");
+                               print_quoted_string(buts.name, sizeof(buts.name),
+                                                   QUOTE_0_TERMINATED);
                        }
-                       tprints(", name=");
-                       print_quoted_string(buts.name, sizeof(buts.name),
-                                           QUOTE_0_TERMINATED);
                        tprints("}");
                        break;
                }