view src/readline-0-002.patch @ 5579:2734b3818171

Avoid double-free with librsb (bug #58957). * src/librsb.mk: Add work-around to avoid double-free (provided by Michele Martone). * src/mingw-of-sparsersb-1-no-render.patch: Remove patch. * dist-files.mk: Remove file from list.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 02 Nov 2020 08:55:18 +0100
parents 2b13fe9f4ef9
children
line wrap: on
line source

			   READLINE PATCH REPORT
			   =====================

Readline-Release: 8.0
Patch-ID: readline80-002

Bug-Reported-by:	lessbug@qq.com
Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
Bug-Reference-URL:

Bug-Description:

When using previous-history to go back beyond the beginning of the history list,
it's possible to move to an incorrect partial line.

diff --git "a/misc.c" "b/misc.c"
--- a/misc.c	2017-07-07 17:30:12.000000000 -0400
+++ b/misc.c	2019-05-16 11:43:46.000000000 -0400
@@ -577,4 +577,5 @@
 {
   HIST_ENTRY *old_temp, *temp;
+  int had_saved_line;
 
   if (count < 0)
@@ -589,4 +590,5 @@
 
   /* If we don't have a line saved, then save this one. */
+  had_saved_line = _rl_saved_line_for_history != 0;
   rl_maybe_save_line ();
 
@@ -612,5 +614,6 @@
   if (temp == 0)
     {
-      rl_maybe_unsave_line ();
+      if (had_saved_line == 0)
+        _rl_free_saved_history_line ();
       rl_ding ();
     }
diff --git "a/patchlevel" "b/patchlevel"
--- a/patchlevel	2013-11-15 08:11:11.000000000 -0500
+++ b/patchlevel	2014-03-21 08:28:40.000000000 -0400
@@ -1,3 +1,3 @@
 # Do not edit -- exists only for use by patch
 
-1
+2