Commit e14935df authored by Thomas Huth's avatar Thomas Huth Committed by Gerd Hoffmann
Browse files

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: default avatarThomas Huth <thuth@redhat.com>
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Message-id: 1495177204-16808-1-git-send-email-thuth@redhat.com
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent b813bed1
Loading
Loading
Loading
Loading
+5 −16
Original line number Diff line number Diff line
@@ -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 {
    if (*filename == ':') {
        filename++;
    } else if (*filename) {
        error_report("unrecognized serial USB option %s", filename);
        return NULL;
    }
        while(*filename == ',')
            filename++;
    }
    if (!*filename) {
        error_report("character device specification needed");
        return NULL;
    }
    filename++;

    snprintf(label, sizeof(label), "usbserial%d", index++);
    cdrv = qemu_chr_new(label, filename);