Fix memory leak in configfs 47/222447/2 submit/tizen/20200115.084439
authorINSUN PYO <insun.pyo@samsung.com>
Wed, 15 Jan 2020 05:05:16 +0000 (14:05 +0900)
committerINSUN PYO <insun.pyo@samsung.com>
Wed, 15 Jan 2020 05:37:14 +0000 (14:37 +0900)
Change-Id: I4df7a7dcb55382a18b93a9bd3afbe909c20c6998

hw/usb_cfs_client_common.c

index 8eff847..f423d22 100644 (file)
@@ -124,6 +124,8 @@ static void cfs_free_gadget(struct usb_gadget *gadget)
 
                free(gadget->funcs);
        }
+
+       free(gadget);
 }
 
 static int cfs_read_gadget_attrs_strs(usbg_gadget *gadget,
@@ -144,7 +146,6 @@ static int cfs_read_gadget_attrs_strs(usbg_gadget *gadget,
        usb_gadget->attrs.idProduct = attrs.idProduct;
        usb_gadget->attrs.bcdDevice = attrs.bcdDevice;
 
-
        ret = usbg_get_gadget_strs(gadget, LANG_US_ENG, &strs);
        if (ret)
                goto out;
@@ -153,6 +154,8 @@ static int cfs_read_gadget_attrs_strs(usbg_gadget *gadget,
        usb_gadget->strs[0].product = strdup(strs.product);
        usb_gadget->strs[0].serial = strdup(strs.serial);
 
+       usbg_free_gadget_strs(&strs);
+
        if (!usb_gadget->strs[0].manufacturer ||
            !usb_gadget->strs[0].product ||
            !usb_gadget->strs[0].serial) {