]> granicus.if.org Git - strace/commitdiff
block_ioctl: quote strings
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 25 Jan 2015 01:04:01 +0000 (01:04 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 26 Jan 2015 19:08:37 +0000 (19:08 +0000)
* block.c (print_blkpg_req): Print blkpg_partition.devname and
blkpg_partition.volname using print_quoted_string.
(block_ioctl): Print blk_user_trace_setup.name using print_quoted_string.

block.c

diff --git a/block.c b/block.c
index 36d7433feb626ffd92d8d7e3d1baada81cf1d933..a84b1e3408e2cddc6bdf4cf698cef32f2a97007b 100644 (file)
--- a/block.c
+++ b/block.c
@@ -94,12 +94,16 @@ print_blkpg_req(struct tcb *tcp, struct blkpg_ioctl_arg *blkpg)
 
        if (umove(tcp, (long) blkpg->data, &p) < 0)
                tprintf("%#lx}", (long) blkpg->data);
-       else
-               tprintf("{start=%lld, length=%lld, pno=%d, "
-                       "devname=\"%.*s\", volname=\"%.*s\"}}",
-                       p.start, p.length, p.pno,
-                       (int) sizeof(p.devname), p.devname,
-                       (int) sizeof(p.volname), p.volname);
+       else {
+               tprintf("{start=%lld, length=%lld, pno=%d, devname=",
+                       p.start, p.length, p.pno);
+               print_quoted_string(p.devname, sizeof(p.devname),
+                                   QUOTE_0_TERMINATED);
+               tprints(", volname=");
+               print_quoted_string(p.volname, sizeof(p.volname),
+                                   QUOTE_0_TERMINATED);
+               tprints("}}");
+       }
 }
 
 int
@@ -262,9 +266,12 @@ block_ioctl(struct tcb *tcp, const unsigned int code, long arg)
                        struct blk_user_trace_setup buts;
                        if (syserror(tcp) || umove(tcp, arg, &buts) < 0)
                                tprintf(", %#lx", arg);
-                       else
-                               tprintf(", {name=\"%.*s\"}",
-                                       (int) sizeof(buts.name), buts.name);
+                       else {
+                               tprints(", {name=");
+                               print_quoted_string(buts.name, sizeof(buts.name),
+                                                   QUOTE_0_TERMINATED);
+                               tprints("}");
+                       }
                }
                break;