diff options
Diffstat (limited to 'package/bash')
| -rw-r--r-- | package/bash/bash31-015 | 106 | ||||
| -rw-r--r-- | package/bash/bash31-016 | 51 | ||||
| -rw-r--r-- | package/bash/bash31-017 | 131 | 
3 files changed, 288 insertions, 0 deletions
diff --git a/package/bash/bash31-015 b/package/bash/bash31-015 new file mode 100644 index 000000000..3376a4fb9 --- /dev/null +++ b/package/bash/bash31-015 @@ -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@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/lib/glob/sm_loop.c	Sun Oct 16 21:21:04 2005 +--- bash-3.1/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 +--- 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 14 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 15 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-016 b/package/bash/bash31-016 new file mode 100644 index 000000000..41cdeb068 --- /dev/null +++ b/package/bash/bash31-016 @@ -0,0 +1,51 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.1 +Patch-ID: bash31-016 + +Bug-Reported-by: Nikita Danilov <nikita@clusterfs.com> +Bug-Reference-ID: <17397.51015.769854.541057@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/lib/glob/glob.c	Thu Mar 24 12:42:27 2005 +--- bash-3.1/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 +--- 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 15 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 16 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-017 b/package/bash/bash31-017 new file mode 100644 index 000000000..60e4acdfa --- /dev/null +++ b/package/bash/bash31-017 @@ -0,0 +1,131 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.1 +Patch-ID: bash31-017 + +Bug-Reported-by: syphir@syphir.sytes.net +Bug-Reference-ID: <442421F5.3010105@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/subst.c	Wed Apr 12 08:47:08 2006 +--- bash-3.1/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/subst.h	Sun Nov  7 15:12:28 2004 +--- bash-3.1/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 +--- 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 16 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 17 +   +  #endif /* _PATCHLEVEL_H_ */  | 
