From 5b0d03acc6af1e07f5598c82f2bc735b9889cfaf Mon Sep 17 00:00:00 2001 From: sin Date: Sat, 25 Jan 2014 22:34:05 +0000 Subject: [PATCH] Free minfo table --- df.c | 5 ++++- grabmntinfo.h | 4 ++-- mount.c | 4 ++++ mountpoint.c | 5 +++++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/df.c b/df.c index 6118fe2..d886b2f 100644 --- a/df.c +++ b/df.c @@ -35,8 +35,11 @@ main(int argc, char *argv[]) if (!siz) eprintf("grabmntinfo:"); - for (i = 0; i < siz; i++) + for (i = 0; i < siz; i++) { mnt_show(minfo[i].fsname, minfo[i].mntdir); + free(minfo[i].fsname); + free(minfo[i].mntdir); + } free(minfo); return EXIT_SUCCESS; diff --git a/grabmntinfo.h b/grabmntinfo.h index 1239cef..a13be67 100644 --- a/grabmntinfo.h +++ b/grabmntinfo.h @@ -1,8 +1,8 @@ /* See LICENSE file for copyright and license details. */ struct mntinfo { - const char *fsname; - const char *mntdir; + char *fsname; + char *mntdir; }; int grabmntinfo(struct mntinfo **minfo); diff --git a/mount.c b/mount.c index 9199b25..cd24480 100644 --- a/mount.c +++ b/mount.c @@ -149,6 +149,10 @@ main(int argc, char *argv[]) if (mount(source, target, types, flags, data) < 0) eprintf("mount:"); + for (i = 0; i < siz; i++) { + free(minfo[i].fsname); + free(minfo[i].mntdir); + } free(minfo); opt = opthead; diff --git a/mountpoint.c b/mountpoint.c index 2815c35..0521138 100644 --- a/mountpoint.c +++ b/mountpoint.c @@ -72,6 +72,11 @@ main(int argc, char *argv[]) st1.st_ino == st2.st_ino) break; } + + for (i = 0; i < siz; i++) { + free(minfo[i].fsname); + free(minfo[i].mntdir); + } free(minfo); if (i == siz)