]> granicus.if.org Git - strace/commitdiff
netlink: print unrecognized nlattr in hex
authorJingPiao Chen <chenjingpiao@gmail.com>
Fri, 7 Jul 2017 01:47:17 +0000 (09:47 +0800)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 7 Jul 2017 16:43:41 +0000 (16:43 +0000)
* nlattr.c (fetch_nlattr): Replace printstrn
with printstr_ex and set QUOTE_FORCE_HEX flag.
* tests/nlattr.c (test_nlattr): Update expected output.

nlattr.c
tests/nlattr.c

index 00f8924ea7a484e62618988813154500bad1964b..8775d3569949c5e10e149b6eb16ab8bd4a8adc38 100644 (file)
--- a/nlattr.c
+++ b/nlattr.c
@@ -36,7 +36,7 @@ fetch_nlattr(struct tcb *const tcp, struct nlattr *const nlattr,
             const kernel_ulong_t addr, const kernel_ulong_t len)
 {
        if (len < sizeof(struct nlattr)) {
-               printstrn(tcp, addr, len);
+               printstr_ex(tcp, addr, len, QUOTE_FORCE_HEX);
                return false;
        }
 
index ae3ad4dc4b5c818bb5a2cb6790b4dec5ea2ff39c..f7da752d1b28c6004b71dcf340adb03b50836189 100644 (file)
@@ -74,7 +74,7 @@ test_nlattr(const int fd)
        printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
               ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
               ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
-              ", udiag_ino=0, udiag_cookie=[0, 0]}, \"12\"}, %u"
+              ", udiag_ino=0, udiag_cookie=[0, 0]}, \"\\x31\\x32\"}, %u"
               ", MSG_DONTWAIT, NULL, 0) = %s\n",
               fd, msg_len, msg_len, sprintrc(rc));
 
@@ -154,7 +154,7 @@ test_nlattr(const int fd)
               ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
               ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
               ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
-              ", nla_type=UNIX_DIAG_NAME}, \"12\"]}, %u"
+              ", nla_type=UNIX_DIAG_NAME}, \"\\x31\\x32\"]}, %u"
               ", MSG_DONTWAIT, NULL, 0) = %s\n",
               fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));