SOURCES: bash31-012 (NEW), bash31-013 (NEW), bash31-014 (NEW), bas...

glen glen at pld-linux.org
Fri May 26 00:31:37 CEST 2006


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 <alex at dgap.mipt.ru>
+Bug-Reference-ID: <308374997.20060124175849 at 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
+--- 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 <bob at brasko.net>
+Bug-Reference-ID: <43F60606.80708 at 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
+--- 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 <mike.stroyan at hp.com>
+Bug-Reference-ID: <20060203191607.GC27614 at 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
+--- 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: <43FCA614.1090108 at free.fr>
+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 <nikita at clusterfs.com>
+Bug-Reference-ID: <17397.51015.769854.541057 at gargle.gargle.HOWL>
+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: syphir at syphir.sytes.net
+Bug-Reference-ID: <442421F5.3010105 at syphir.sytes.net>
+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_ */
================================================================


More information about the pld-cvs-commit mailing list