From a52c9d823621e469d6052aac1f4aab74cce1fe10 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 11 May 2012 07:35:54 +0000 Subject: main/make: apply various patches various patches from upstream, gentoo or fedora --- main/make/make-3.82-memory-corruption.patch | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 main/make/make-3.82-memory-corruption.patch (limited to 'main/make/make-3.82-memory-corruption.patch') diff --git a/main/make/make-3.82-memory-corruption.patch b/main/make/make-3.82-memory-corruption.patch new file mode 100644 index 0000000000..b52dd6e0b9 --- /dev/null +++ b/main/make/make-3.82-memory-corruption.patch @@ -0,0 +1,37 @@ +--- ./function.c 2011/04/18 01:25:20 1.121 ++++ ./function.c 2011/05/02 12:35:01 1.122 +@@ -706,7 +706,7 @@ + const char *word_iterator = argv[0]; + char buf[20]; + +- while (find_next_token (&word_iterator, (unsigned int *) 0) != 0) ++ while (find_next_token (&word_iterator, NULL) != 0) + ++i; + + sprintf (buf, "%d", i); +@@ -1133,21 +1133,14 @@ + + /* Find the maximum number of words we'll have. */ + t = argv[0]; +- wordi = 1; +- while (*t != '\0') ++ wordi = 0; ++ while ((p = find_next_token (&t, NULL)) != 0) + { +- char c = *(t++); +- +- if (! isspace ((unsigned char)c)) +- continue; +- ++ ++t; + ++wordi; +- +- while (isspace ((unsigned char)*t)) +- ++t; + } + +- words = xmalloc (wordi * sizeof (char *)); ++ words = xmalloc ((wordi == 0 ? 1 : wordi) * sizeof (char *)); + + /* Now assign pointers to each string in the array. */ + t = argv[0]; -- cgit v1.2.3