aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2017-05-19 09:00:04 +0200
committerGerd Hoffmann <kraxel@redhat.com>2017-05-29 14:03:35 +0200
commite14935df26c2c10b3445b1910f4ff76f3fb1a1b1 (patch)
treedc7ba29c4980976068387803d90b59e8a24cd984 /hw
parentb813bed1ab064e0198f68a9e745da3caaf9c8e47 (diff)
usb: Simplify the parameter parsing of the legacy usb serial device
Coverity complains about the current code, so let's get rid of the now unneeded while loop and simply always emit "unrecognized serial USB option" for all unsupported options. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1495177204-16808-1-git-send-email-thuth@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/usb/dev-serial.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c
index 83a4f0e6fb..76ceca1f5c 100644
--- a/hw/usb/dev-serial.c
+++ b/hw/usb/dev-serial.c
@@ -516,27 +516,16 @@ static USBDevice *usb_serial_init(USBBus *bus, const char *filename)
char label[32];
static int index;
- while (*filename && *filename != ':') {
- const char *p;
-
- if (strstart(filename, "vendorid=", &p)) {
- error_report("vendorid is not supported anymore");
- return NULL;
- } else if (strstart(filename, "productid=", &p)) {
- error_report("productid is not supported anymore");
- return NULL;
- } else {
- error_report("unrecognized serial USB option %s", filename);
- return NULL;
- }
- while(*filename == ',')
- filename++;
+ if (*filename == ':') {
+ filename++;
+ } else if (*filename) {
+ error_report("unrecognized serial USB option %s", filename);
+ return NULL;
}
if (!*filename) {
error_report("character device specification needed");
return NULL;
}
- filename++;
snprintf(label, sizeof(label), "usbserial%d", index++);
cdrv = qemu_chr_new(label, filename);