Explorar el Código

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>
Thomas Huth hace 8 años
padre
commit
e14935df26
Se han modificado 1 ficheros con 5 adiciones y 16 borrados
  1. 5 16
      hw/usb/dev-serial.c

+ 5 - 16
hw/usb/dev-serial.c

@@ -516,27 +516,16 @@ static USBDevice *usb_serial_init(USBBus *bus, const char *filename)
     char label[32];
     char label[32];
     static int index;
     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) {
     if (!*filename) {
         error_report("character device specification needed");
         error_report("character device specification needed");
         return NULL;
         return NULL;
     }
     }
-    filename++;
 
 
     snprintf(label, sizeof(label), "usbserial%d", index++);
     snprintf(label, sizeof(label), "usbserial%d", index++);
     cdrv = qemu_chr_new(label, filename);
     cdrv = qemu_chr_new(label, filename);