aboutsummaryrefslogtreecommitdiffstats
path: root/main/make/make-3.82-copy-on-expand.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/make/make-3.82-copy-on-expand.patch')
-rw-r--r--main/make/make-3.82-copy-on-expand.patch58
1 files changed, 0 insertions, 58 deletions
diff --git a/main/make/make-3.82-copy-on-expand.patch b/main/make/make-3.82-copy-on-expand.patch
deleted file mode 100644
index bcefa763be..0000000000
--- a/main/make/make-3.82-copy-on-expand.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-fix from upstream cvs
-
-----------------------------
-revision 1.58
-date: 2011-08-29 12:20:19 -0400; author: psmith; state: Exp; lines: +7 -13; commitid: MdH0jSxpuIy7mqxv;
-Save strings we're expanding in case an embedded eval causes them
-to be freed (if they're the value of a variable that's reset for example).
-See Savannah patch #7534
-
-Index: expand.c
-===================================================================
-RCS file: /sources/make/make/expand.c,v
-retrieving revision 1.57
-retrieving revision 1.58
-diff -u -p -r1.57 -r1.58
---- ./expand.c 7 May 2011 20:03:49 -0000 1.57
-+++ ./expand.c 29 Aug 2011 16:20:19 -0000 1.58
-@@ -197,7 +197,7 @@ variable_expand_string (char *line, cons
- {
- struct variable *v;
- const char *p, *p1;
-- char *abuf = NULL;
-+ char *save;
- char *o;
- unsigned int line_offset;
-
-@@ -212,16 +212,11 @@ variable_expand_string (char *line, cons
- return (variable_buffer);
- }
-
-- /* If we want a subset of the string, allocate a temporary buffer for it.
-- Most of the functions we use here don't work with length limits. */
-- if (length > 0 && string[length] != '\0')
-- {
-- abuf = xmalloc(length+1);
-- memcpy(abuf, string, length);
-- abuf[length] = '\0';
-- string = abuf;
-- }
-- p = string;
-+ /* We need a copy of STRING: due to eval, it's possible that it will get
-+ freed as we process it (it might be the value of a variable that's reset
-+ for example). Also having a nil-terminated string is handy. */
-+ save = length < 0 ? xstrdup (string) : xstrndup (string, length);
-+ p = save;
-
- while (1)
- {
-@@ -411,8 +406,7 @@ variable_expand_string (char *line, cons
- ++p;
- }
-
-- if (abuf)
-- free (abuf);
-+ free (save);
-
- variable_buffer_output (o, "", 1);
- return (variable_buffer + line_offset);