From: Dmitry V. Levin Date: Mon, 17 Apr 2017 04:37:11 +0000 (+0000) Subject: Fix the length argument passed from print_iovec to decode_netlink X-Git-Tag: v4.17~76 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0653be4e01389d8b3048e59d9ea20383d083273b;p=strace Fix the length argument passed from print_iovec to decode_netlink * io.c (print_iovec): Pass the actual length to decode_netlink instead of the original length. * NEWS: Mention this fix. --- diff --git a/NEWS b/NEWS index 652aa813..ba3e36a2 100644 --- a/NEWS +++ b/NEWS @@ -25,6 +25,7 @@ Noteworthy changes in release ?.?? (????-??-??) * Bug fixes * Fixed decoding of flags argument of preadv2 and pwritev2 syscalls on x32. * Fixed the number of arguments and tracing flags of alpha specific syscalls. + * Fixed decoding of netlink messages received within struct msghdr. Noteworthy changes in release 4.16 (2017-02-14) =============================================== diff --git a/io.c b/io.c index a4f6b8e8..259ad343 100644 --- a/io.c +++ b/io.c @@ -94,7 +94,7 @@ print_iovec(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) len = c->data_size; if (c->data_size != (kernel_ulong_t) -1) c->data_size -= len; - decode_netlink(tcp, iov[0], iov[1]); + decode_netlink(tcp, iov[0], len); break; default: printaddr(iov[0]);