diff options
author | peter <peter@FreeBSD.org> | 1998-12-16 05:29:09 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1998-12-16 05:29:09 +0000 |
commit | 858805daf7b17a568db3e55a13084768b7558cdd (patch) | |
tree | 0aa95fbdab8dfe5838e68951fe0568f98b0daebf /bin | |
parent | 221998f917e0b4f594963c0cc189026c78711599 (diff) | |
download | FreeBSD-src-858805daf7b17a568db3e55a13084768b7558cdd.zip FreeBSD-src-858805daf7b17a568db3e55a13084768b7558cdd.tar.gz |
Cleaning out old stuff from one of my source trees:
use mkdtemp() rather than mktemp() and fix a trivial memory leak.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/df/df.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/bin/df/df.c b/bin/df/df.c index 5fbfe72..42ce083 100644 --- a/bin/df/df.c +++ b/bin/df/df.c @@ -47,7 +47,7 @@ static const char copyright[] = static char sccsid[] = "@(#)df.c 8.9 (Berkeley) 5/8/95"; #else static const char rcsid[] = - "$Id: df.c,v 1.18 1997/10/12 13:55:43 joerg Exp $"; + "$Id: df.c,v 1.19 1997/10/13 09:36:05 joerg Exp $"; #endif #endif /* not lint */ @@ -85,7 +85,7 @@ main(argc, argv) struct statfs statfsbuf, *mntbuf; long mntsize; int ch, err, i, maxwidth, rv, width; - char *mntpt, **vfslist; + char *mntpt, *mntpath, **vfslist; vfslist = NULL; while ((ch = getopt(argc, argv, "iknt:")) != -1) @@ -148,17 +148,25 @@ main(argc, argv) continue; } else if ((stbuf.st_mode & S_IFMT) == S_IFBLK) { if ((mntpt = getmntpt(*argv)) == 0) { - mntpt = mktemp(strdup("/tmp/df.XXXXXX")); mdev.fspec = *argv; - if (mkdir(mntpt, DEFFILEMODE) != 0) { - warn("%s", mntpt); + mntpath = strdup("/tmp/df.XXXXXX"); + if (mntpath == NULL) { + warn("strdup failed"); rv = 1; continue; } + mntpt = mkdtemp(mntpath); + if (mntpt == NULL) { + warn("mkdtemp(\"%s\") failed", mntpath); + rv = 1; + free(mntpath); + continue; + } if (mount("ufs", mntpt, MNT_RDONLY, &mdev) != 0) { rv = ufs_df(*argv, maxwidth) || rv; (void)rmdir(mntpt); + free(mntpath); continue; } else if (statfs(mntpt, &statfsbuf) == 0) { statfsbuf.f_mntonname[0] = '\0'; @@ -169,6 +177,7 @@ main(argc, argv) } (void)unmount(mntpt, 0); (void)rmdir(mntpt); + free(mntpath); continue; } } else |