Author: glen Date: Thu May 25 22:31:37 2006 GMT Module: SOURCES Tag: HEAD ---- Log message: - up to patchlevel 17
---- Files affected: SOURCES: bash31-012 (NONE -> 1.1) (NEW), bash31-013 (NONE -> 1.1) (NEW), bash31-014 (NONE -> 1.1) (NEW), bash31-015 (NONE -> 1.1) (NEW), bash31-016 (NONE -> 1.1) (NEW), bash31-017 (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: SOURCES/bash31-012 diff -u /dev/null SOURCES/bash31-012:1.1 --- /dev/null Fri May 26 00:31:37 2006 +++ SOURCES/bash31-012 Fri May 26 00:31:31 2006 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-012 + +Bug-Reported-by: Alexander Kshevetskiy <[EMAIL PROTECTED]> +Bug-Reference-ID: <[EMAIL PROTECTED]> +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 +--- 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 +--- 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_ */ ================================================================ Index: SOURCES/bash31-013 diff -u /dev/null SOURCES/bash31-013:1.1 --- /dev/null Fri May 26 00:31:37 2006 +++ SOURCES/bash31-013 Fri May 26 00:31:31 2006 @@ -0,0 +1,44 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-013 + +Bug-Reported-by: Bob Rossi <[EMAIL PROTECTED]> +Bug-Reference-ID: <[EMAIL PROTECTED]> +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 +--- 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 +--- 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_ */ ================================================================ Index: SOURCES/bash31-014 diff -u /dev/null SOURCES/bash31-014:1.1 --- /dev/null Fri May 26 00:31:37 2006 +++ SOURCES/bash31-014 Fri May 26 00:31:31 2006 @@ -0,0 +1,105 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-014 + +Bug-Reported-by: Mike Stroyan <[EMAIL PROTECTED]> +Bug-Reference-ID: <[EMAIL PROTECTED]> +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 +--- 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 +--- 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_ */ ================================================================ Index: SOURCES/bash31-015 diff -u /dev/null SOURCES/bash31-015:1.1 --- /dev/null Fri May 26 00:31:37 2006 +++ SOURCES/bash31-015 Fri May 26 00:31:31 2006 @@ -0,0 +1,106 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-015 + +Bug-Reported-by: Benoit Vila +Bug-Reference-ID: <[EMAIL PROTECTED]> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html + +Bug-Description: + +A problem with the extended globbing code prevented dots from matching +filenames when used in some extended matching patterns. + +Patch: + +*** ../bash-3.1-patched/lib/glob/sm_loop.c Sun Oct 16 21:21:04 2005 +--- lib/glob/sm_loop.c Mon Feb 27 17:18:43 2006 +*************** +*** 639,643 **** + CHAR *pnext; /* pointer to next sub-pattern */ + CHAR *srest; /* pointer to rest of string */ +! int m1, m2; + + #if DEBUG_MATCHING +--- 638,642 ---- + CHAR *pnext; /* pointer to next sub-pattern */ + CHAR *srest; /* pointer to rest of string */ +! int m1, m2, xflags; /* xflags = flags passed to recursive matches */ + + #if DEBUG_MATCHING +*************** +*** 645,648 **** +--- 644,648 ---- + fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se); + fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe); ++ fprintf(stderr, "extmatch: flags = %d\n", flags); + #endif + +*************** +*** 678,683 **** + multiple matches of the pattern. */ + if (m1) +! m2 = (GMATCH (srest, se, prest, pe, flags) == 0) || +! (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0); + if (m1 && m2) + return (0); +--- 678,687 ---- + multiple matches of the pattern. */ + if (m1) +! { +! /* if srest > s, we are not at start of string */ +! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; +! m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) || +! (s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0); +! } + if (m1 && m2) + return (0); +*************** +*** 705,710 **** + for ( ; srest <= se; srest++) + { + if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 && +! GMATCH (srest, se, prest, pe, flags) == 0) + return (0); + } +--- 709,716 ---- + for ( ; srest <= se; srest++) + { ++ /* if srest > s, we are not at start of string */ ++ xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; + if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 && +! GMATCH (srest, se, prest, pe, xflags) == 0) + return (0); + } +*************** +*** 727,731 **** + break; + } +! if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0) + return (0); + } +--- 733,739 ---- + break; + } +! /* if srest > s, we are not at start of string */ +! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; +! if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0) + return (0); + } +*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 +--- 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 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ Index: SOURCES/bash31-016 diff -u /dev/null SOURCES/bash31-016:1.1 --- /dev/null Fri May 26 00:31:37 2006 +++ SOURCES/bash31-016 Fri May 26 00:31:31 2006 @@ -0,0 +1,51 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-016 + +Bug-Reported-by: Nikita Danilov <[EMAIL PROTECTED]> +Bug-Reference-ID: <[EMAIL PROTECTED]> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html + +Bug-Description: + +Bash will dump core when attempting to perform globbing in directories with +very large numbers of files. + +Patch: + +*** ../bash-3.1-patched/lib/glob/glob.c Thu Mar 24 12:42:27 2005 +--- lib/glob/glob.c Fri Mar 3 16:54:12 2006 +*************** +*** 361,364 **** +--- 361,365 ---- + + firstmalloc = 0; ++ nalloca = 0; + + /* If PAT is empty, skip the loop, but return one (empty) filename. */ +*************** +*** 547,550 **** +--- 551,556 ---- + tmplink = lastlink; + } ++ else ++ tmplink = 0; + free (lastlink->name); + lastlink = lastlink->next; +*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 +--- 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 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ Index: SOURCES/bash31-017 diff -u /dev/null SOURCES/bash31-017:1.1 --- /dev/null Fri May 26 00:31:37 2006 +++ SOURCES/bash31-017 Fri May 26 00:31:31 2006 @@ -0,0 +1,131 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-017 + +Bug-Reported-by: [EMAIL PROTECTED] +Bug-Reference-ID: <[EMAIL PROTECTED]> +Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358831 + +Bug-Description: + +Array expansion fails with an arithmetic syntax error when the subscript +appears within double quotes. For example: ${a["4"]}. + +Patch: + +*** ../bash-3.1-patched/subst.c Wed Apr 12 08:47:08 2006 +--- subst.c Wed Apr 12 08:49:02 2006 +*************** +*** 2576,2579 **** +--- 2576,2586 ---- + } + ++ char * ++ expand_arith_string (string, quoted) ++ char *string; ++ { ++ return (expand_string_if_necessary (string, quoted, expand_string)); ++ } ++ + #if defined (COND_COMMAND) + /* Just remove backslashes in STRING. Returns a new string. */ +*************** +*** 5249,5253 **** + t = (char *)0; + +! temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string); + *e1p = evalexp (temp1, &expok); + free (temp1); +--- 5256,5260 ---- + t = (char *)0; + +! temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES); + *e1p = evalexp (temp1, &expok); + free (temp1); +*************** +*** 5294,5298 **** + t++; + temp2 = savestring (t); +! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string); + free (temp2); + t[-1] = ':'; +--- 5301,5305 ---- + t++; + temp2 = savestring (t); +! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES); + free (temp2); + t[-1] = ':'; +*************** +*** 6436,6440 **** + + /* Expand variables found inside the expression. */ +! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string); + free (temp2); + +--- 6443,6447 ---- + + /* Expand variables found inside the expression. */ +! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES); + free (temp2); + +*************** +*** 6478,6482 **** + + /* Do initial variable expansion. */ +! temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string); + + goto arithsub; +--- 6485,6489 ---- + + /* Do initial variable expansion. */ +! temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES); + + goto arithsub; +*** ../bash-3.1-patched/subst.h Sun Nov 7 15:12:28 2004 +--- subst.h Mon Mar 27 09:10:38 2006 +*************** +*** 152,155 **** +--- 152,158 ---- + extern char *expand_assignment_string_to_string __P((char *, int)); + ++ /* Expand an arithmetic expression string */ ++ extern char *expand_arith_string __P((char *, int)); ++ + /* De-quoted quoted characters in STRING. */ + extern char *dequote_string __P((char *)); +*** ../bash-3.1-patched/arrayfunc.c Mon Jul 4 20:25:58 2005 +--- arrayfunc.c Mon Mar 27 09:10:47 2006 +*************** +*** 593,601 **** + strncpy (exp, s, len - 1); + exp[len - 1] = '\0'; +! #if 0 +! t = expand_string_to_string (exp, 0); +! #else +! t = expand_string_to_string (exp, Q_DOUBLE_QUOTES); +! #endif + this_command_name = (char *)NULL; + val = evalexp (t, &expok); +--- 591,595 ---- + strncpy (exp, s, len - 1); + exp[len - 1] = '\0'; +! t = expand_arith_string (exp, 0); + this_command_name = (char *)NULL; + val = evalexp (t, &expok); +*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 +--- 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 16 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit