diff options
author | Pierre Joye <pajoye@php.net> | 2011-07-28 10:42:45 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2011-07-28 10:42:45 +0000 |
commit | 7053100f3dc9e3c083b030cc4f574e8bc2430924 (patch) | |
tree | 30e4ddb08da147a727c85e3760d14130c89c3637 /ext | |
parent | 27cb62423caa06769a023e59664bb2189485aaf4 (diff) | |
download | php-git-7053100f3dc9e3c083b030cc4f574e8bc2430924.tar.gz |
- Fix #55301 (readline part) check if malloc succeded
Diffstat (limited to 'ext')
-rw-r--r-- | ext/readline/readline.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/readline/readline.c b/ext/readline/readline.c index a5d0f7d2ba..e9cdacb275 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -478,6 +478,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'; } @@ -518,7 +521,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; } |