usb_client: fix bug 68/175068/2
authorINSUN PYO <insun.pyo@samsung.com>
Wed, 14 Mar 2018 04:45:36 +0000 (13:45 +0900)
committerPaweł Szewczyk <p.szewczyk@samsung.com>
Fri, 6 Apr 2018 13:53:31 +0000 (15:53 +0200)
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: I70670d18ae5ae128ef0785ac79f220e3aa5c42b0
Signed-off-by: Paweł Szewczyk <p.szewczyk@samsung.com>
hw/usb_client/usb_client.c

index f8bdd3a..df5229a 100644 (file)
@@ -289,9 +289,12 @@ static int legacy_read_config(struct usb_gadget *gadget,
 
        /* count number of functions in this config */
        f_cnt = 1;
-       for (i = 0; buf[i] != '\0'; ++i)
+       for (i = 0; buf[i] != '\0'; ++i) {
                if (buf[i] == sep[0])
                        ++f_cnt;
+               if (buf[i] == '\n')  /* buf ends with it */
+                       buf[i] = 0;
+       }
 
        ret = legacy_alloc_config(f_cnt, &config);
        if (ret)
@@ -305,7 +308,7 @@ static int legacy_read_config(struct usb_gadget *gadget,
                if (!func) {
                        /* new function not added yet to gadget */
                        ret = legacy_alloc_new_func(gadget, fname, &func);
-                       if (!ret)
+                       if (ret)
                                goto free_config;
                }