diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2016-09-29 15:57:55 +0300 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2016-10-02 19:19:15 +0000 |
commit | f3228d32681b96b8e39af9c71af46e162f2f0b83 (patch) | |
tree | 48de78a8364e3126d04b7532592a7f3146fb4227 | |
parent | e8f36ec0c56744390751a7a7b7da4c6afdaad31b (diff) | |
download | strace-f3228d32681b96b8e39af9c71af46e162f2f0b83.tar.gz |
io: handle data_size of -1 as unlimited data in print_iovec
Otherwise it can be depleted and print_iovec starts printing empty
strings.
* io.c (print_iovec): Interpret c->data_size of -1 as unlimited data
and do not decrease it in this case.
-rw-r--r-- | io.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -85,13 +85,15 @@ print_iovec(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) case IOV_DECODE_STR: if (len > c->data_size) len = c->data_size; - c->data_size -= len; + if (c->data_size != (unsigned long) -1L) + c->data_size -= len; printstr(tcp, iov[0], len); break; case IOV_DECODE_NETLINK: if (len > c->data_size) len = c->data_size; - c->data_size -= len; + if (c->data_size != (unsigned long) -1L) + c->data_size -= len; decode_netlink(tcp, iov[0], iov[1]); break; default: |