aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBlazej Kucman <blazej.kucman@intel.com>2022-12-20 12:07:51 +0100
committerJes Sorensen <jes@trained-monkey.org>2022-12-28 09:59:06 -0500
commit434b3b9bb96a76dc12f693b64cf23b581781e20b (patch)
tree193f0aeec2ae3546aa06eed89105fea47049ed78
parent725e37cd14866906ba28c970394b9f7a4cd97413 (diff)
downloadmdadm-434b3b9bb96a76dc12f693b64cf23b581781e20b.tar.gz
Grow: fix possible memory leak.
Signed-off-by: Blazej Kucman <blazej.kucman@intel.com> Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-rw-r--r--Grow.c5
1 files changed, 4 insertions, 1 deletions
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);