diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2015-01-25 01:04:01 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2015-01-26 19:08:37 +0000 |
commit | 0a870586405ef425760d7681d5ac092bb022365e (patch) | |
tree | 021fee54ee2349c33d782ac3fa2cc77a0f1c3b7e /block.c | |
parent | 50e130477524ac6c8a2865a9fdc3367cf1489053 (diff) | |
download | strace-0a870586405ef425760d7681d5ac092bb022365e.tar.gz |
block_ioctl: quote strings
* 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.
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 25 |
1 files changed, 16 insertions, 9 deletions
@@ -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; |