summaryrefslogtreecommitdiff
path: root/debian/patches/bash32-013.dpatch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/bash32-013.dpatch')
-rw-r--r--debian/patches/bash32-013.dpatch84
1 files changed, 84 insertions, 0 deletions
diff --git a/debian/patches/bash32-013.dpatch b/debian/patches/bash32-013.dpatch
new file mode 100644
index 0000000..9573f7e
--- /dev/null
+++ b/debian/patches/bash32-013.dpatch
@@ -0,0 +1,84 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: bash-3.2 upstream patch bash32-013
+
+ 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_ */