[RAMEN9610-13636][common][prevent][9610] wlbt: fix CID261400
authorYoungsoo <youngss.kim@samsung.com>
Thu, 21 Mar 2019 10:54:38 +0000 (19:54 +0900)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:20 +0000 (20:23 +0300)
CID 261400 (#1 of 1): Resource leak (RESOURCE_LEAK)
8. leaked_storage: Variable firm going out of scope leaks the storage it points to.

func should return after free resources.

Change-Id: I9dcb8ff93c05785e6da10bab24660bb4f97a2db6

drivers/misc/samsung/scsc/mx140_file.c

index 123cf4fcd074788bad770c4ac3dbca123de1e689..182caa4e34b2a2cbd984af82eda49922775ea7b3 100755 (executable)
@@ -526,7 +526,6 @@ int mx140_request_proc_file(struct scsc_mx *mx, char *path, const struct firmwar
        r = vfs_read(f, buf, MX140_FW_MAC_FILE_SIZE, &f->f_pos);
        if (r < 0) {
                SCSC_TAG_ERR(MX_FILE, "error reading %s\n", path);
-               return -ENOENT;
        }
 
        set_fs(fs);
@@ -544,7 +543,10 @@ int mx140_request_proc_file(struct scsc_mx *mx, char *path, const struct firmwar
                vfree(buf);
                kfree(firm);
        }
-       return r;
+       if (r < 0)
+               return -ENOENT;
+       else
+               return r;
 }
 EXPORT_SYMBOL(mx140_request_proc_file);