| From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-008 |
| |
| Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> |
| |
| READLINE PATCH REPORT |
| ===================== |
| |
| Readline-Release: 6.3 |
| Patch-ID: readline63-008 |
| |
| Bug-Reported-by: Jared Yanovich <slovichon@gmail.com> |
| Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu> |
| Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html |
| |
| Bug-Description: |
| |
| When the readline `revert-all-at-newline' option is set, pressing newline |
| when the current line is one retrieved from history results in a double free |
| and a segmentation fault. |
| |
| Patch (apply with `patch -p0'): |
| |
| *** a/readline-6.3-patched/misc.c 2012-09-01 18:03:11.000000000 -0400 |
| --- b/misc.c 2014-06-30 13:41:19.000000000 -0400 |
| *************** |
| *** 462,465 **** |
| --- 462,466 ---- |
| /* Set up rl_line_buffer and other variables from history entry */ |
| rl_replace_from_history (entry, 0); /* entry->line is now current */ |
| + entry->data = 0; /* entry->data is now current undo list */ |
| /* Undo all changes to this history entry */ |
| while (rl_undo_list) |
| *************** |
| *** 469,473 **** |
| FREE (entry->line); |
| entry->line = savestring (rl_line_buffer); |
| - entry->data = 0; |
| } |
| entry = previous_history (); |
| --- 470,473 ---- |
| *** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 |
| --- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 |
| *************** |
| *** 1,3 **** |
| # Do not edit -- exists only for use by patch |
| |
| ! 7 |
| --- 1,3 ---- |
| # Do not edit -- exists only for use by patch |
| |
| ! 8 |