summaryrefslogtreecommitdiff
path: root/misc-utils/wipefs.c
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2010-06-16 23:41:33 +0200
committerKarel Zak <kzak@redhat.com>2010-06-16 23:41:33 +0200
commit770af396fa31ca9c56807d58f407eb2d3d4060b6 (patch)
treefc040f70138725287ec53793ae885a77c44899f3 /misc-utils/wipefs.c
parent9683e327eda75bf7f47e9d058cea9ff9445d58e4 (diff)
downloadutil-linux-old-770af396fa31ca9c56807d58f407eb2d3d4060b6.tar.gz
wipefs: fix memory leaks
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/wipefs.c')
-rw-r--r--misc-utils/wipefs.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/misc-utils/wipefs.c b/misc-utils/wipefs.c
index 1db72fd1..c0b29f0e 100644
--- a/misc-utils/wipefs.c
+++ b/misc-utils/wipefs.c
@@ -303,6 +303,23 @@ do_wipe(struct wipe_desc *wp, const char *fname, int noact)
return 0;
}
+static void
+free_wipe(struct wipe_desc *wp)
+{
+ while (wp) {
+ struct wipe_desc *next = wp->next;
+
+ free(wp->usage);
+ free(wp->type);
+ free(wp->magic);
+ free(wp->label);
+ free(wp->uuid);
+ free(wp);
+
+ wp = next;
+ }
+}
+
static loff_t
strtoll_offset(const char *str)
{
@@ -391,6 +408,8 @@ main(int argc, char **argv)
do_wipe(wp, fname, noact);
else
print_all(wp, mode);
+
+ free_wipe(wp);
}
return EXIT_SUCCESS;
}