summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
authorPrzemyslaw Hawrylewicz Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>2010-04-22 23:10:32 +0100
committerDan Williams <dan.j.williams@intel.com>2010-05-17 15:38:34 -0700
commit10013317ce51c6b619f9782b55e9b6b9f536f0a8 (patch)
treee973275f430a9d577cf32ec96506bd32280c8e64 /util.c
parent200871adf9e15d5ad985f28c349fd89c386ef48a (diff)
downloadmdadm-10013317ce51c6b619f9782b55e9b6b9f536f0a8.tar.gz
mdadm-10013317ce51c6b619f9782b55e9b6b9f536f0a8.tar.xz
mdadm-10013317ce51c6b619f9782b55e9b6b9f536f0a8.zip
fix: memory leak in mdmon_pid()
devnum2devname() returns pointer to memory allocated with strdup. It must be released to prevent memory leak. Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'util.c')
-rw-r--r--util.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/util.c b/util.c
index 25f1e56..8315200 100644
--- a/util.c
+++ b/util.c
@@ -1532,7 +1532,11 @@ int mdmon_pid(int devnum)
char pid[10];
int fd;
int n;
- sprintf(path, "%s/%s.pid", pid_dir, devnum2devname(devnum));
+ char *devname = devnum2devname(devnum);
+
+ sprintf(path, "%s/%s.pid", pid_dir, devname);
+ free(devname);
+
fd = open(path, O_RDONLY | O_NOATIME, 0);
if (fd < 0)