summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-12-16 05:29:09 +0000
committerpeter <peter@FreeBSD.org>1998-12-16 05:29:09 +0000
commit858805daf7b17a568db3e55a13084768b7558cdd (patch)
tree0aa95fbdab8dfe5838e68951fe0568f98b0daebf /bin
parent221998f917e0b4f594963c0cc189026c78711599 (diff)
downloadFreeBSD-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.c19
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
OpenPOWER on IntegriCloud