From 6be40c953563ad01ee14f01f63b8bdd8d3a6e9e1 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Fri, 23 Jul 1999 08:28:46 +0000 Subject: [PATCH] Fix a non-critical memory leak. PR: 12769 Submitted by: Peter Jeremy --- sbin/init/init.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sbin/init/init.c b/sbin/init/init.c index bc3717aab1bc..dc90e6d8bfcb 100644 --- a/sbin/init/init.c +++ b/sbin/init/init.c @@ -45,7 +45,7 @@ static const char copyright[] = static char sccsid[] = "@(#)init.c 8.1 (Berkeley) 7/15/93"; #endif static const char rcsid[] = - "$Id: init.c,v 1.32 1999/06/16 20:01:19 ru Exp $"; + "$Id: init.c,v 1.33 1999/06/18 09:08:09 ru Exp $"; #endif /* not lint */ #include @@ -935,8 +935,10 @@ construct_argv(command) register char **argv = (char **) malloc(((strlen(command) + 1) / 2 + 1) * sizeof (char *)); - if ((argv[argc++] = strk(command)) == 0) - return 0; + if ((argv[argc++] = strk(command)) == 0) { + free(argv); + return (NULL); + } while ((argv[argc++] = strk((char *) 0)) != NULL) continue; return argv; @@ -1044,7 +1046,7 @@ setupargv(sp, typ) return (0); } if (sp->se_window) { - free(sp->se_window); + free(sp->se_window); free(sp->se_window_argv_space); free(sp->se_window_argv); }