From 612aff3a8a42bb5ef756e60769b16f9879c7f036 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sun, 3 Jul 2016 23:56:27 +0800 Subject: Fixed bug #72538 (readline_redisplay crashes php) --- NEWS | 3 +++ ext/readline/readline.c | 5 +++++ ext/readline/tests/bug72538.phpt | 15 +++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 ext/readline/tests/bug72538.phpt diff --git a/NEWS b/NEWS index 3e2be90c56..90df495213 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,9 @@ PHP NEWS . Fixed bug #72476 (Memleak in jit_stack). (Laruence) . Fixed bug #72463 (mail fails with invalid argument). (Anatol) +- Readline: + . Fixed bug #72538 (readline_redisplay crashes php). (Laruence) + - Standard: . Fixed bug #72505 (readfile() mangles files larger than 2G). (Cschneid) . Fixed bug #72306 (Heap overflow through proc_open and $env parameter). diff --git a/ext/readline/readline.c b/ext/readline/readline.c index ad9b01a946..362dc2f876 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -616,6 +616,11 @@ PHP_FUNCTION(readline_callback_handler_remove) Ask readline to redraw the display */ PHP_FUNCTION(readline_redisplay) { +#if HAVE_LIBEDIT + /* seems libedit doesn't take care of rl_initialize in rl_redisplay + * see bug #72538 */ + using_history(); +#endif rl_redisplay(); } /* }}} */ diff --git a/ext/readline/tests/bug72538.phpt b/ext/readline/tests/bug72538.phpt new file mode 100644 index 0000000000..98b9b2651e --- /dev/null +++ b/ext/readline/tests/bug72538.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #72538 (readline_redisplay crashes php) +--SKIPIF-- + +--FILE-- + +okey +--EXPECT-- +okey -- cgit v1.2.1