NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/52737 (bmake crash for invalid usage of .PATH)
The following reply was made to PR bin/52737; it has been noted by GNATS.
From: "Simon J. Gerraty" <sjg%juniper.net@localhost>
To: <gnats-bugs%NetBSD.org@localhost>
Cc: <gnats-admin%NetBSD.org@localhost>, <netbsd-bugs%NetBSD.org@localhost>, <bsiegert%NetBSD.org@localhost>,
<n54%gmx.com@localhost>, <sjg%juniper.net@localhost>
Subject: Re: bin/52737 (bmake crash for invalid usage of .PATH)
Date: Mon, 8 Apr 2019 13:35:14 -0700
> Synopsis: bmake crash for invalid usage of .PATH
The assert could be removed, or made conditional
on seeing valid dependency line:
diff -r 6f103b9234c3 bmake/parse.c
--- a/bmake/parse.c Sun Dec 30 09:28:02 2018 -0800
+++ b/bmake/parse.c Mon Apr 08 13:33:09 2019 -0700
@@ -1222,6 +1222,7 @@
Lst curTargs; /* list of target names to be found and added
* to the targets list */
char *lstart = line;
+ Boolean colon_seen;
if (DEBUG(PARSE))
fprintf(debug_file, "ParseDoDependency(%s)\n", line);
@@ -1229,6 +1230,7 @@
specType = Not;
paths = NULL;
+ colon_seen = FALSE;
curTargs = Lst_Init(FALSE);
@@ -1313,6 +1315,8 @@
/* Insert a null terminator. */
savec = *cp;
+ if (*cp == ':')
+ colon_seen = TRUE;
*cp = '\0';
/*
@@ -1768,6 +1772,10 @@
}
out:
+ if (paths && !colon_seen) {
+ Lst_Destroy(paths, NULL);
+ paths = NULL;
+ }
assert(paths == NULL);
if (curTargs)
Lst_Destroy(curTargs, NULL);
Home |
Main Index |
Thread Index |
Old Index