pacman/util.c: Fix memory leak if realloc fails
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
b8c9385b8b
commit
2d0e2bf255
|
@ -1449,11 +1449,14 @@ int multiselect_question(char *array, int count)
|
||||||
size_t len;
|
size_t len;
|
||||||
/* handle buffer not being large enough to read full line case */
|
/* handle buffer not being large enough to read full line case */
|
||||||
while(*lastchar == '\0' && lastchar[-1] != '\n') {
|
while(*lastchar == '\0' && lastchar[-1] != '\n') {
|
||||||
|
char *new_response;
|
||||||
response_len += response_incr;
|
response_len += response_incr;
|
||||||
response = realloc(response, response_len);
|
new_response = realloc(response, response_len);
|
||||||
if(!response) {
|
if(!new_response) {
|
||||||
|
free(response);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
response = new_response;
|
||||||
lastchar = response + response_len - 1;
|
lastchar = response + response_len - 1;
|
||||||
/* sentinel byte */
|
/* sentinel byte */
|
||||||
*lastchar = 1;
|
*lastchar = 1;
|
||||||
|
|
Loading…
Reference in New Issue