summaryrefslogtreecommitdiff
path: root/package/bash/bash32-023
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-10-07 18:23:11 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-10-07 18:23:11 +0000
commit0c6c85cbfa09476e06866760d1efbc541860a838 (patch)
tree3fb4b4d55899f32a79fea6c0d4058c76df594fc0 /package/bash/bash32-023
parent79d42d3238dd7c9f39fdb20715a9b68c8e9252e1 (diff)
- pull patches 018..024
Diffstat (limited to 'package/bash/bash32-023')
-rw-r--r--package/bash/bash32-02351
1 files changed, 51 insertions, 0 deletions
diff --git a/package/bash/bash32-023 b/package/bash/bash32-023
new file mode 100644
index 000000000..afa4d6d42
--- /dev/null
+++ b/package/bash/bash32-023
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-023
+
+Bug-Reported-by: Chet Ramey <chet.ramey@cwru.edu>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+When an error occurs during the pattern removal word expansion, the shell
+can free unallocated memory or free memory multiple times.
+
+Patch:
+
+*** ../bash-3.2-patched/subst.c Tue Apr 3 16:47:19 2007
+--- bash-3.2/subst.c Tue Jul 17 09:45:11 2007
+***************
+*** 3975,3979 ****
+ patstr++;
+
+! pattern = getpattern (patstr, quoted, 1);
+
+ temp1 = (char *)NULL; /* shut up gcc */
+--- 4008,4016 ----
+ patstr++;
+
+! /* Need to pass getpattern newly-allocated memory in case of expansion --
+! the expansion code will free the passed string on an error. */
+! temp1 = savestring (patstr);
+! pattern = getpattern (temp1, quoted, 1);
+! free (temp1);
+
+ temp1 = (char *)NULL; /* shut up gcc */
+*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
+--- bash-3.2/patchlevel.h Mon Oct 16 14:22:54 2006
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */