Loading package/bash/bash31-012 0 → 100644 +47 −0 Original line number Diff line number Diff line BASH PATCH REPORT ================= Bash-Release: 3.1 Patch-ID: bash31-012 Bug-Reported-by: Alexander Kshevetskiy <alex@dgap.mipt.ru> Bug-Reference-ID: <308374997.20060124175849@dgap.mipt.ru> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00097.html Bug-Description: There is a parsing problem involving parentheses in assignment statements that causes words to be terminated prematurely. Patch: *** bash-3.1/parse.y Fri Nov 11 23:14:18 2005 --- bash-3.1/parse.y Wed Jan 25 14:55:18 2006 *************** *** 3579,3583 **** all_digit_token = 0; compound_assignment = 1; ! #if 0 goto next_character; #else --- 3584,3588 ---- all_digit_token = 0; compound_assignment = 1; ! #if 1 goto next_character; #else *** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 --- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 11 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 12 #endif /* _PATCHLEVEL_H_ */ package/bash/bash31-013 0 → 100644 +44 −0 Original line number Diff line number Diff line BASH PATCH REPORT ================= Bash-Release: 3.1 Patch-ID: bash31-013 Bug-Reported-by: Bob Rossi <bob@brasko.net> Bug-Reference-ID: <43F60606.80708@case.edu> Bug-Reference-URL: Bug-Description: In some cases, readline will reference freed memory when attempting to display a portion of the prompt. Patch: *** bash-3.1-patched/lib/readline/readline.c Mon Jul 4 22:29:35 2005 --- bash-3.1/lib/readline/readline.c Fri Feb 17 22:54:22 2006 *************** *** 282,287 **** --- 282,288 ---- { FREE (rl_prompt); rl_prompt = prompt ? savestring (prompt) : (char *)NULL; + rl_display_prompt = rl_prompt ? rl_prompt : ""; rl_visible_prompt_length = rl_expand_prompt (rl_prompt); return 0; *** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 --- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 12 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 13 #endif /* _PATCHLEVEL_H_ */ package/bash/bash31-014 0 → 100644 +105 −0 Original line number Diff line number Diff line BASH PATCH REPORT ================= Bash-Release: 3.1 Patch-ID: bash31-014 Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com> Bug-Reference-ID: <20060203191607.GC27614@localhost> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00004.html Bug-Description: The displayed search prompt is corrupted when using non-incremental searches in vi and emacs mode if the prompt contains non-printing characters or spans multiple lines. The prompt is expanded more than once; the second time without the escape sequences that protect non- printing characters from the length calculations. Patch: *** bash-3.1-patched/lib/readline/display.c Wed Nov 30 14:05:02 2005 --- bash-3.1/lib/readline/display.c Sat Feb 18 12:14:58 2006 *************** *** 1983,1993 **** int pchar; { int len; ! char *pmt; rl_save_prompt (); ! if (saved_local_prompt == 0) { len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0; pmt = (char *)xmalloc (len + 2); --- 1998,2012 ---- int pchar; { int len; ! char *pmt, *p; rl_save_prompt (); ! /* We've saved the prompt, and can do anything with the various prompt ! strings we need before they're restored. We want the unexpanded ! portion of the prompt string after any final newline. */ ! p = rl_prompt ? strrchr (rl_prompt, '\n') : 0; ! if (p == 0) { len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0; pmt = (char *)xmalloc (len + 2); *************** *** 1998,2016 **** } else { ! len = *saved_local_prompt ? strlen (saved_local_prompt) : 0; pmt = (char *)xmalloc (len + 2); if (len) ! strcpy (pmt, saved_local_prompt); pmt[len] = pchar; pmt[len+1] = '\0'; ! local_prompt = savestring (pmt); ! prompt_last_invisible = saved_last_invisible; ! prompt_visible_length = saved_visible_length + 1; ! } prompt_physical_chars = saved_physical_chars + 1; - return pmt; } --- 2017,2033 ---- } else { ! p++; ! len = strlen (p); pmt = (char *)xmalloc (len + 2); if (len) ! strcpy (pmt, p); pmt[len] = pchar; pmt[len+1] = '\0'; ! } + /* will be overwritten by expand_prompt, called from rl_message */ prompt_physical_chars = saved_physical_chars + 1; return pmt; } *** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 --- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 13 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 14 #endif /* _PATCHLEVEL_H_ */ Loading
package/bash/bash31-012 0 → 100644 +47 −0 Original line number Diff line number Diff line BASH PATCH REPORT ================= Bash-Release: 3.1 Patch-ID: bash31-012 Bug-Reported-by: Alexander Kshevetskiy <alex@dgap.mipt.ru> Bug-Reference-ID: <308374997.20060124175849@dgap.mipt.ru> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00097.html Bug-Description: There is a parsing problem involving parentheses in assignment statements that causes words to be terminated prematurely. Patch: *** bash-3.1/parse.y Fri Nov 11 23:14:18 2005 --- bash-3.1/parse.y Wed Jan 25 14:55:18 2006 *************** *** 3579,3583 **** all_digit_token = 0; compound_assignment = 1; ! #if 0 goto next_character; #else --- 3584,3588 ---- all_digit_token = 0; compound_assignment = 1; ! #if 1 goto next_character; #else *** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 --- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 11 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 12 #endif /* _PATCHLEVEL_H_ */
package/bash/bash31-013 0 → 100644 +44 −0 Original line number Diff line number Diff line BASH PATCH REPORT ================= Bash-Release: 3.1 Patch-ID: bash31-013 Bug-Reported-by: Bob Rossi <bob@brasko.net> Bug-Reference-ID: <43F60606.80708@case.edu> Bug-Reference-URL: Bug-Description: In some cases, readline will reference freed memory when attempting to display a portion of the prompt. Patch: *** bash-3.1-patched/lib/readline/readline.c Mon Jul 4 22:29:35 2005 --- bash-3.1/lib/readline/readline.c Fri Feb 17 22:54:22 2006 *************** *** 282,287 **** --- 282,288 ---- { FREE (rl_prompt); rl_prompt = prompt ? savestring (prompt) : (char *)NULL; + rl_display_prompt = rl_prompt ? rl_prompt : ""; rl_visible_prompt_length = rl_expand_prompt (rl_prompt); return 0; *** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 --- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 12 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 13 #endif /* _PATCHLEVEL_H_ */
package/bash/bash31-014 0 → 100644 +105 −0 Original line number Diff line number Diff line BASH PATCH REPORT ================= Bash-Release: 3.1 Patch-ID: bash31-014 Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com> Bug-Reference-ID: <20060203191607.GC27614@localhost> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00004.html Bug-Description: The displayed search prompt is corrupted when using non-incremental searches in vi and emacs mode if the prompt contains non-printing characters or spans multiple lines. The prompt is expanded more than once; the second time without the escape sequences that protect non- printing characters from the length calculations. Patch: *** bash-3.1-patched/lib/readline/display.c Wed Nov 30 14:05:02 2005 --- bash-3.1/lib/readline/display.c Sat Feb 18 12:14:58 2006 *************** *** 1983,1993 **** int pchar; { int len; ! char *pmt; rl_save_prompt (); ! if (saved_local_prompt == 0) { len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0; pmt = (char *)xmalloc (len + 2); --- 1998,2012 ---- int pchar; { int len; ! char *pmt, *p; rl_save_prompt (); ! /* We've saved the prompt, and can do anything with the various prompt ! strings we need before they're restored. We want the unexpanded ! portion of the prompt string after any final newline. */ ! p = rl_prompt ? strrchr (rl_prompt, '\n') : 0; ! if (p == 0) { len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0; pmt = (char *)xmalloc (len + 2); *************** *** 1998,2016 **** } else { ! len = *saved_local_prompt ? strlen (saved_local_prompt) : 0; pmt = (char *)xmalloc (len + 2); if (len) ! strcpy (pmt, saved_local_prompt); pmt[len] = pchar; pmt[len+1] = '\0'; ! local_prompt = savestring (pmt); ! prompt_last_invisible = saved_last_invisible; ! prompt_visible_length = saved_visible_length + 1; ! } prompt_physical_chars = saved_physical_chars + 1; - return pmt; } --- 2017,2033 ---- } else { ! p++; ! len = strlen (p); pmt = (char *)xmalloc (len + 2); if (len) ! strcpy (pmt, p); pmt[len] = pchar; pmt[len+1] = '\0'; ! } + /* will be overwritten by expand_prompt, called from rl_message */ prompt_physical_chars = saved_physical_chars + 1; return pmt; } *** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 --- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 13 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 14 #endif /* _PATCHLEVEL_H_ */