summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1998-09-24 02:42:39 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1998-09-24 02:42:39 +0000
commit577757a0c575257cbe741ef172c8e1b7cc425476 (patch)
tree0813c63cf77976ac3630d45bd44382fcb189d64a
parentd7c3b0b972ac2bfe24f8457725222addd05351aa (diff)
The return value of setmode(3) is a pointer to malloc()'ed area and
must be freed to avoid memory leaks if called repeatedly. From itohy@netbsd.org
-rw-r--r--usr.sbin/mtree/spec.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/mtree/spec.c b/usr.sbin/mtree/spec.c
index d5e3655c5f5..83631ec3e03 100644
--- a/usr.sbin/mtree/spec.c
+++ b/usr.sbin/mtree/spec.c
@@ -1,5 +1,5 @@
/* $NetBSD: spec.c,v 1.6 1995/03/07 21:12:12 cgd Exp $ */
-/* $OpenBSD: spec.c,v 1.9 1997/07/18 05:49:04 millert Exp $ */
+/* $OpenBSD: spec.c,v 1.10 1998/09/24 02:42:38 millert Exp $ */
/*-
* Copyright (c) 1989, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)spec.c 8.1 (Berkeley) 6/6/93";
#else
-static char rcsid[] = "$OpenBSD: spec.c,v 1.9 1997/07/18 05:49:04 millert Exp $";
+static char rcsid[] = "$OpenBSD: spec.c,v 1.10 1998/09/24 02:42:38 millert Exp $";
#endif
#endif /* not lint */
@@ -210,6 +210,7 @@ set(t, ip)
if ((m = setmode(val)) == NULL)
error("invalid file mode %s", val);
ip->st_mode = getmode(m, 0);
+ free(m);
break;
case F_NLINK:
ip->st_nlink = strtoul(val, &ep, 10);