diff options
author | Hamish Moffatt <hamish@cloud.net.au> | 2008-02-06 01:26:58 +0000 |
---|---|---|
committer | Hamish Moffatt <hamish@cloud.net.au> | 2008-02-06 01:26:58 +0000 |
commit | 83b7c8b381768a83fdca110a740448061ca2d898 (patch) | |
tree | 147441f9ce656876ed161a075d60a1c32001b848 /package/readline/readline52-002 | |
parent | d53b1d1f93fe0a92eaa92507a31e11a5f31a70d6 (diff) | |
download | buildroot-novena-83b7c8b381768a83fdca110a740448061ca2d898.tar.gz buildroot-novena-83b7c8b381768a83fdca110a740448061ca2d898.zip |
Commit the new upstream patches and remove the old
Diffstat (limited to 'package/readline/readline52-002')
-rw-r--r-- | package/readline/readline52-002 | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/package/readline/readline52-002 b/package/readline/readline52-002 new file mode 100644 index 000000000..169a88662 --- /dev/null +++ b/package/readline/readline52-002 @@ -0,0 +1,49 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 5.2 +Patch-ID: readline52-002 + +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: + +*** ../readline-5.2-patched/display.c Thu Sep 14 14:20:12 2006 +--- ./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() \ |