summaryrefslogtreecommitdiff
path: root/net.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2016-07-09 21:52:51 +0000
committerDmitry V. Levin <ldv@altlinux.org>2016-07-12 07:40:31 +0000
commit36df8223a1bebd83838ae5301fa429a7fbc36c0d (patch)
treebcdd5669100b3ba19a0eb1efcd9385050865e0f6 /net.c
parentd07eac3ac4104b89855ca5c4ba04cd2a285c6749 (diff)
downloadstrace-36df8223a1bebd83838ae5301fa429a7fbc36c0d.tar.gz
Enhance diagnostics of address truncation in sockname family syscalls
* net.c (decode_sockname): Print both user and kernel address lengths when the returned address is truncated. * tests/sun_path.expected: Update expected output.
Diffstat (limited to 'net.c')
-rw-r--r--net.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net.c b/net.c
index 86d93fc23..245cae9a9 100644
--- a/net.c
+++ b/net.c
@@ -225,7 +225,10 @@ decode_sockname(struct tcb *tcp)
tprintf(", [%d]", ulen);
} else {
decode_sockaddr(tcp, tcp->u_arg[1], ulen > rlen ? rlen : ulen);
- tprintf(", [%d]", rlen);
+ if (ulen < rlen)
+ tprintf(", [%d->%d]", ulen, rlen);
+ else
+ tprintf(", [%d]", rlen);
}
return RVAL_DECODED;