pacman/util.c: Fix memory leak if realloc fails

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Rikard Falkeborn 2015-07-20 21:34:10 +02:00 committed by Allan McRae
parent b8c9385b8b
commit 2d0e2bf255
1 changed files with 5 additions and 2 deletions

View File

@ -1449,11 +1449,14 @@ int multiselect_question(char *array, int count)
size_t len;
/* handle buffer not being large enough to read full line case */
while(*lastchar == '\0' && lastchar[-1] != '\n') {
char *new_response;
response_len += response_incr;
response = realloc(response, response_len);
if(!response) {
new_response = realloc(response, response_len);
if(!new_response) {
free(response);
return -1;
}
response = new_response;
lastchar = response + response_len - 1;
/* sentinel byte */
*lastchar = 1;