From: Youngsoo Date: Thu, 21 Mar 2019 10:54:38 +0000 (+0900) Subject: [RAMEN9610-13636][common][prevent][9610] wlbt: fix CID261400 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3b8c805bfbb5583b459c2c00e00b4cf8157511ee;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [RAMEN9610-13636][common][prevent][9610] wlbt: fix CID261400 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 --- diff --git a/drivers/misc/samsung/scsc/mx140_file.c b/drivers/misc/samsung/scsc/mx140_file.c index 123cf4fcd074..182caa4e34b2 100755 --- a/drivers/misc/samsung/scsc/mx140_file.c +++ b/drivers/misc/samsung/scsc/mx140_file.c @@ -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);