Commit 9a0b8eb1 authored by unknown's avatar unknown
Browse files

Bug#19474 readline bug: mysql: free(): invalid pointer

 - Write to uninitialised memory occured since _rl_rapped_lines buffer
   was not extended in CHECK_INV_LBREAKS macro
 - Patch submitted to bug-readline@gnu.org


cmd-line-utils/readline/display.c:
  Extend _rl_wrapped_lines everytime inv_lbsize is increased
parent 7d4477f8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -524,6 +524,17 @@ rl_redisplay ()
      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)) \
@@ -532,6 +543,7 @@ rl_redisplay ()
	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
	  } \
      } while (0)
#endif

#if defined (HANDLE_MULTIBYTE)	  
#define CHECK_LPOS() \