[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] change auto filter output format of "info usbhost"
From: |
Andreas Winkelbauer |
Subject: |
[Qemu-devel] [PATCH] change auto filter output format of "info usbhost" (v2) |
Date: |
Wed, 17 Sep 2008 18:50:45 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (X11/20080723) |
This patch changes the output format of the monitor command "info
usbhost" for usb auto filters in usb_host_info().
The VID and PID are now printed as 4 digit hexadecimal numbers with
leading zeros (which is much more usual compared to the current output
format which does not print leading zeros).
In addition to the version 1 of this patch, this version introduces more
changes in the static functions dec2str() and hex2str() (which are only
used by usb_host_info()) to ensure that there won't be any buffer overflows.
Signed-off-by: Andreas Winkelbauer <address@hidden>
---
bye,
Andi
diff -uNrp trunk.orig/usb-linux.c trunk/usb-linux.c
--- trunk.orig/usb-linux.c 2008-09-17 02:11:53.000000000 +0200
+++ trunk/usb-linux.c 2008-09-17 14:18:10.000000000 +0200
@@ -1449,20 +1449,20 @@ static int usb_host_info_device(void *op
return 0;
}
-static void dec2str(int val, char *str)
+static void dec2str(int val, char *str, size_t len)
{
if (val == -1)
- strcpy(str, "*");
+ strncpy(str, "*", len);
else
- sprintf(str, "%d", val);
+ snprintf(str, len, "%d", val);
}
-static void hex2str(int val, char *str)
+static void hex2str(int val, char *str, size_t len)
{
if (val == -1)
- strcpy(str, "*");
+ strncpy(str, "*", len);
else
- sprintf(str, "%x", val);
+ snprintf(str, len, "%04x", val);
}
void usb_host_info(void)
@@ -1474,12 +1474,12 @@ void usb_host_info(void)
if (usb_auto_filter)
term_printf(" Auto filters:\n");
for (f = usb_auto_filter; f; f = f->next) {
- char bus[10], addr[10], vid[10], pid[10];
- dec2str(f->bus_num, bus);
- dec2str(f->addr, addr);
- hex2str(f->vendor_id, vid);
- hex2str(f->product_id, pid);
- term_printf(" Device %s.%s ID %s:%s\n", bus, addr, vid, pid);
+ char bus[10], addr[10], vid[5], pid[5];
+ dec2str(f->bus_num, bus, 10);
+ dec2str(f->addr, addr, 10);
+ hex2str(f->vendor_id, vid, 5);
+ hex2str(f->product_id, pid, 5);
+ term_printf(" Device %s.%s ID %s:%s\n", bus, addr, vid, pid);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] change auto filter output format of "info usbhost" (v2),
Andreas Winkelbauer <=