Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make make(1): fix unrealistic memory leak in Main_Pa...
details: https://anonhg.NetBSD.org/src/rev/eb9cded83cde
branches: trunk
changeset: 1016070:eb9cded83cde
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Nov 08 02:05:34 2020 +0000
description:
make(1): fix unrealistic memory leak in Main_ParseArgLine
It's unlikely that anyone ever defines an environment variable named
".MAKE" and then runs make with the -e option, which would make the
environment variable stronger than the built-in global variable.
diffstat:
usr.bin/make/main.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diffs (45 lines):
diff -r 0f47f7577c87 -r eb9cded83cde usr.bin/make/main.c
--- a/usr.bin/make/main.c Sun Nov 08 01:56:54 2020 +0000
+++ b/usr.bin/make/main.c Sun Nov 08 02:05:34 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.441 2020/11/08 01:56:54 rillig Exp $ */
+/* $NetBSD: main.c,v 1.442 2020/11/08 02:05:34 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -109,7 +109,7 @@
#include "trace.h"
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.441 2020/11/08 01:56:54 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.442 2020/11/08 02:05:34 rillig Exp $");
#if defined(MAKE_NATIVE) && !defined(lint)
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
"The Regents of the University of California. "
@@ -663,19 +663,21 @@
Main_ParseArgLine(const char *line)
{
Words words;
- void *p1;
- const char *argv0 = Var_Value(".MAKE", VAR_GLOBAL, &p1);
char *buf;
if (line == NULL)
return;
for (; *line == ' '; ++line)
continue;
- if (!*line)
+ if (line[0] == '\0')
return;
- buf = str_concat3(argv0, " ", line);
- free(p1);
+ {
+ void *freeIt;
+ const char *argv0 = Var_Value(".MAKE", VAR_GLOBAL, &freeIt);
+ buf = str_concat3(argv0, " ", line);
+ free(freeIt);
+ }
words = Str_Words(buf, TRUE);
if (words.words == NULL) {
Home |
Main Index |
Thread Index |
Old Index