diff mbox series

[V2] Grow: fix possible memory leak

Message ID 20221221125254.17932-1-blazej.kucman@intel.com (mailing list archive)
State Accepted, archived
Headers show
Series [V2] Grow: fix possible memory leak | expand

Commit Message

Blazej Kucman Dec. 21, 2022, 12:52 p.m. UTC
In function Grow_addbitmap, struct mdinfo
may be allocated but is not freed
in few exit paths. Add free 'mdi' variable
in missing exit paths to avoid possible memory leak.

Signed-off-by: Blazej Kucman <blazej.kucman@intel.com>
---
 Grow.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Jes Sorensen Dec. 28, 2022, 2:59 p.m. UTC | #1
On 12/21/22 07:52, Blazej Kucman wrote:
> In function Grow_addbitmap, struct mdinfo
> may be allocated but is not freed
> in few exit paths. Add free 'mdi' variable
> in missing exit paths to avoid possible memory leak.
> 
> Signed-off-by: Blazej Kucman <blazej.kucman@intel.com>
> ---
>  Grow.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)

Applied!

Thanks,
Jes
diff mbox series

Patch

diff --git a/Grow.c b/Grow.c
index e362403a..b73ec2ae 100644
--- a/Grow.c
+++ b/Grow.c
@@ -432,6 +432,7 @@  int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
 			if (((disk.state & (1 << MD_DISK_WRITEMOSTLY)) == 0) &&
 			   (strcmp(s->bitmap_file, "clustered") == 0)) {
 				pr_err("%s disks marked write-mostly are not supported with clustered bitmap\n",devname);
+				free(mdi);
 				return 1;
 			}
 			fd2 = dev_open(dv, O_RDWR);
@@ -453,8 +454,10 @@  int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
 				pr_err("failed to load super-block.\n");
 			}
 			close(fd2);
-			if (rv)
+			if (rv) {
+				free(mdi);
 				return 1;
+			}
 		}
 		if (offset_setable) {
 			st->ss->getinfo_super(st, mdi, NULL);