summaryrefslogtreecommitdiff
path: root/data/bash/bash32-037
diff options
context:
space:
mode:
Diffstat (limited to 'data/bash/bash32-037')
-rw-r--r--data/bash/bash32-037110
1 files changed, 110 insertions, 0 deletions
diff --git a/data/bash/bash32-037 b/data/bash/bash32-037
new file mode 100644
index 000000000..376bd937c
--- /dev/null
+++ b/data/bash/bash32-037
@@ -0,0 +1,110 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-037
+
+Bug-Reported-by: jared r r spiegel <jrrs@iorek.ice-nine.org>
+Bug-Reference-ID: <200801152201.m0FM1lDp021260@iorek.ice-nine.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-01/msg00049.html
+
+Bug-Description:
+
+Bash inappropriately evaluates command substitutions while expanding
+directory names as part of command substitution.
+
+Patch:
+
+*** ../bash-3.2-patched/subst.c 2007-12-13 22:31:21.000000000 -0500
+--- subst.c 2008-01-17 22:48:15.000000000 -0500
+***************
+*** 2815,2821 ****
+ to jump_to_top_level here so we don't endlessly loop. */
+ WORD_LIST *
+! expand_prompt_string (string, quoted)
+ char *string;
+ int quoted;
+ {
+ WORD_LIST *value;
+--- 2895,2902 ----
+ to jump_to_top_level here so we don't endlessly loop. */
+ WORD_LIST *
+! expand_prompt_string (string, quoted, wflags)
+ char *string;
+ int quoted;
++ int wflags;
+ {
+ WORD_LIST *value;
+***************
+*** 2825,2829 ****
+ return ((WORD_LIST *)NULL);
+
+! td.flags = 0;
+ td.word = savestring (string);
+
+--- 2906,2910 ----
+ return ((WORD_LIST *)NULL);
+
+! td.flags = wflags;
+ td.word = savestring (string);
+
+*** ../bash-3.2-patched/subst.h 2007-03-24 14:51:05.000000000 -0400
+--- subst.h 2008-01-17 22:46:08.000000000 -0500
+***************
+*** 136,140 ****
+
+ /* Expand a prompt string. */
+! extern WORD_LIST *expand_prompt_string __P((char *, int));
+
+ /* Expand STRING just as if you were expanding a word. This also returns
+--- 137,141 ----
+
+ /* Expand a prompt string. */
+! extern WORD_LIST *expand_prompt_string __P((char *, int, int));
+
+ /* Expand STRING just as if you were expanding a word. This also returns
+*** ../bash-3.2-patched/parse.y 2007-08-25 13:47:06.000000000 -0400
+--- parse.y 2008-01-17 22:46:30.000000000 -0500
+***************
+*** 4367,4371 ****
+ {
+ last_exit_value = last_command_exit_value;
+! list = expand_prompt_string (result, Q_DOUBLE_QUOTES);
+ free (result);
+ result = string_list (list);
+--- 4367,4371 ----
+ {
+ last_exit_value = last_command_exit_value;
+! list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0);
+ free (result);
+ result = string_list (list);
+*** ../bash-3.2-patched/bashline.c 2006-07-29 16:39:30.000000000 -0400
+--- bashline.c 2008-02-17 12:53:42.000000000 -0500
+***************
+*** 2358,2362 ****
+ {
+ new_dirname = savestring (local_dirname);
+! wl = expand_prompt_string (new_dirname, 0); /* does the right thing */
+ if (wl)
+ {
+--- 2376,2380 ----
+ {
+ new_dirname = savestring (local_dirname);
+! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB); /* does the right thing */
+ if (wl)
+ {
+*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
+--- 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 36
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */