[COVERITY] Fix memory leak in libe2p (e2p_edit_mntopts)
Need to free memory allocated to buf.
Coverity ID: 17: Resource Leak
Coverity ID: 18: Resource Leak
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
diff --git a/lib/e2p/ChangeLog b/lib/e2p/ChangeLog
index 0518b2a..557bdfd 100644
--- a/lib/e2p/ChangeLog
+++ b/lib/e2p/ChangeLog
@@ -1,6 +1,7 @@
2007-03-21 Theodore Tso <tytso@mit.edu>
- * feature.c (e2p_edit_feature): Fix memory leak.
+ * feature.c (e2p_edit_feature), mntopts.c (e2p_edit_mntopts): Fix
+ memory leak.
2006-11-12 Theodore Tso <tytso@mit.edu>
diff --git a/lib/e2p/mntopts.c b/lib/e2p/mntopts.c
index 6d0eca0..4e50e9f 100644
--- a/lib/e2p/mntopts.c
+++ b/lib/e2p/mntopts.c
@@ -98,6 +98,7 @@
char *cp, *buf, *next;
int neg;
unsigned int mask;
+ int rc = 0;
buf = malloc(strlen(str)+1);
if (!buf)
@@ -120,10 +121,14 @@
cp++;
break;
}
- if (e2p_string2mntopt(cp, &mask))
- return 1;
- if (ok && !(ok & mask))
- return 1;
+ if (e2p_string2mntopt(cp, &mask)) {
+ rc = 1;
+ break;
+ }
+ if (ok && !(ok & mask)) {
+ rc = 1;
+ break;
+ }
if (mask & EXT3_DEFM_JMODE)
*mntopts &= ~EXT3_DEFM_JMODE;
if (neg)
@@ -132,5 +137,6 @@
*mntopts |= mask;
cp = next ? next+1 : 0;
}
- return 0;
+ free(buf);
+ return rc;
}