the function fn_complete in libedit null checks matches[2]
This commit is contained in:
Joe Watkins 2021-05-22 16:50:00 +02:00
parent 29b083dd0a
commit 1143155fcb
No known key found for this signature in database
GPG Key ID: F9BA0ADA31CBD89E
2 changed files with 5 additions and 2 deletions

3
NEWS
View File

@ -28,6 +28,9 @@ PHP NEWS
- MySQLnd:
. Fixed bug #80761 (PDO uses too much memory). (Nikita)
- readline:
. Fixed bug #72998 (invalid read in readline completion). (krakjoe)
- Standard:
. Fixed bug #81048 (phpinfo(INFO_VARIABLES) "Array to string conversion").
(cmb)

View File

@ -452,12 +452,12 @@ char **php_readline_completion_cb(const char *text, int start, int end)
if (zend_hash_num_elements(Z_ARRVAL(_readline_array))) {
matches = rl_completion_matches(text,_readline_command_generator);
} else {
matches = malloc(sizeof(char *) * 2);
/* libedit will read matches[2] */
matches = calloc(sizeof(char *), 3);
if (!matches) {
return NULL;
}
matches[0] = strdup("");
matches[1] = NULL;
}
}
}