summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2011-07-28 10:42:45 +0000
committerPierre Joye <pajoye@php.net>2011-07-28 10:42:45 +0000
commit7053100f3dc9e3c083b030cc4f574e8bc2430924 (patch)
tree30e4ddb08da147a727c85e3760d14130c89c3637 /ext
parent27cb62423caa06769a023e59664bb2189485aaf4 (diff)
downloadphp-git-7053100f3dc9e3c083b030cc4f574e8bc2430924.tar.gz
- Fix #55301 (readline part) check if malloc succeded
Diffstat (limited to 'ext')
-rw-r--r--ext/readline/readline.c8
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;
}