From d3fd31b6dd36fdad393dcc74fca2d9005b79cd84 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Thu, 28 Jul 2011 10:42:45 +0000 Subject: [PATCH] - Fix #55301 (readline part) check if malloc succeded --- ext/readline/readline.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ext/readline/readline.c b/ext/readline/readline.c index cf80e0cd7b5..f57f3754128 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -465,6 +465,9 @@ static char **_readline_completion_cb(const char *text, int start, int end) matches = rl_completion_matches(text,_readline_command_generator); } else { matches = malloc(sizeof(char *) * 2); + if (!matches) { + return NULL; + } matches[0] = strdup(""); matches[1] = '\0'; } @@ -505,7 +508,10 @@ PHP_FUNCTION(readline_completion_function) zval_copy_ctor(_readline_completion); rl_attempted_completion_function = _readline_completion_cb; - + if (rl_attempted_completion_function == NULL) { + efree(name); + RETURN_FALSE; + } RETURN_TRUE; }