From: Dmitry V. Levin Date: Wed, 22 Jun 2016 23:56:24 +0000 (+0000) Subject: net.c: fix printing raw data of socket addresses X-Git-Tag: v4.13~107 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dcc7a3c1c68455bffe16b5c4cd32ea1b92a5a4d1;p=strace net.c: fix printing raw data of socket addresses * net.c (print_sockaddr): When printing socket address raw data, read exactly the number of data bytes specified for the socket addess. --- diff --git a/net.c b/net.c index 6413c2c7..938b2126 100644 --- a/net.c +++ b/net.c @@ -267,8 +267,11 @@ print_sockaddr(struct tcb *tcp, const void *const buf, const int addrlen) && sa_printers[sa->sa_family]) { sa_printers[sa->sa_family](buf, addrlen); } else { + const char *const data = buf + sizeof(sa->sa_family); + const int datalen = addrlen - sizeof(sa->sa_family); + tprints("sa_data="); - print_quoted_string(sa->sa_data, sizeof(sa->sa_data), 0); + print_quoted_string(data, datalen, 0); } }