diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2017-05-09 13:01:28 +0200 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2017-08-31 11:51:16 -0500 |
commit | 4e6889b76b379bef932bf93dd158ca4676efa61e (patch) | |
tree | 55842dbe690f93288254d7d44aea5c480041f0bc | |
parent | 244a3ef947ec21020459d6f6f81626d70aeae1c2 (diff) | |
download | qemu-4e6889b76b379bef932bf93dd158ca4676efa61e.zip qemu-4e6889b76b379bef932bf93dd158ca4676efa61e.tar.gz qemu-4e6889b76b379bef932bf93dd158ca4676efa61e.tar.bz2 |
usb-redir: fix stack overflow in usbredir_log_data
Don't reinvent a broken wheel, just use the hexdump function we have.
Impact: low, broken code doesn't run unless you have debug logging
enabled.
Reported-by: 李强 <liqiang6-s@360.cn>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20170509110128.27261-1-kraxel@redhat.com
(cherry picked from commit bd4a683505b27adc1ac809f71e918e58573d851d)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r-- | hw/usb/redirect.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index 0efe62f..eb70dc7 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -229,21 +229,10 @@ static void usbredir_log(void *priv, int level, const char *msg) static void usbredir_log_data(USBRedirDevice *dev, const char *desc, const uint8_t *data, int len) { - int i, j, n; - if (dev->debug < usbredirparser_debug_data) { return; } - - for (i = 0; i < len; i += j) { - char buf[128]; - - n = sprintf(buf, "%s", desc); - for (j = 0; j < 8 && i + j < len; j++) { - n += sprintf(buf + n, " %02X", data[i + j]); - } - error_report("%s", buf); - } + qemu_hexdump((char *)data, stderr, desc, len); } /* |