On 19/05/2017 09:00, Thomas Huth wrote:
> 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>
> ---
> hw/usb/dev-serial.c | 21 +++++----------------
> 1 file changed, 5 insertions(+), 16 deletions(-)
>
> diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c
> index 83a4f0e..76ceca1 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);
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>