diff options
Diffstat (limited to 'package/bash/bash32-013')
| -rw-r--r-- | package/bash/bash32-013 | 65 | 
1 files changed, 65 insertions, 0 deletions
diff --git a/package/bash/bash32-013 b/package/bash/bash32-013 new file mode 100644 index 000000000..d47bc1a5f --- /dev/null +++ b/package/bash/bash32-013 @@ -0,0 +1,65 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-013 + +Bug-Reported-by: Magnus Svensson <msvensson@mysql.com> +Bug-Reference-ID: <45BDC44D.80609@mysql.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-01/msg00002.html + +Bug-Description: + +Readline neglects to reallocate the array it uses to keep track of wrapped +screen lines when increasing its size.  This will eventually result in +segmentation faults when given sufficiently long input. + +Patch: + +*** ../bash-3.2-patched/lib/readline/display.c	Thu Sep 14 14:20:12 2006 +--- lib/readline/display.c	Fri Feb  2 20:23:17 2007 +*************** +*** 561,574 **** +--- 561,586 ---- +        wrap_offset = prompt_invis_chars_first_line = 0; +      } +   ++ #if defined (HANDLE_MULTIBYTE) +  #define CHECK_INV_LBREAKS() \ +        do { \ +  	if (newlines >= (inv_lbsize - 2)) \ +  	  { \ +  	    inv_lbsize *= 2; \ +  	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \ ++ 	    _rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \ +  	  } \ +        } while (0) ++ #else ++ #define CHECK_INV_LBREAKS() \ ++       do { \ ++ 	if (newlines >= (inv_lbsize - 2)) \ ++ 	  { \ ++ 	    inv_lbsize *= 2; \ ++ 	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \ ++ 	  } \ ++       } while (0) ++ #endif /* HANDLE_MULTIBYTE */ +   +  #if defined (HANDLE_MULTIBYTE)	   +  #define CHECK_LPOS() \ + +*** ../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 12 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 13 +   +  #endif /* _PATCHLEVEL_H_ */  | 
