another fix
This commit is contained in:
@@ -65,11 +65,15 @@ static RetType write_to_buffer(void *cookie, const char *data, LenType len) {
|
|||||||
if (newsize >= b->alloc) { // NB! one extra byte is needed to avoid buffer overflow at close_buffer
|
if (newsize >= b->alloc) { // NB! one extra byte is needed to avoid buffer overflow at close_buffer
|
||||||
// make room
|
// make room
|
||||||
size_t newalloc = newsize + newsize / 2 + 1; // give 50% more room
|
size_t newalloc = newsize + newsize / 2 + 1; // give 50% more room
|
||||||
ptr = realloc(ptr, newalloc);
|
|
||||||
if (ptr == NULL) {
|
char *tmp = realloc(ptr, newalloc);
|
||||||
|
if ( tmp == NULL ) {
|
||||||
free(ptr);
|
free(ptr);
|
||||||
return -1;
|
return -1;
|
||||||
)
|
} else {
|
||||||
|
ptr = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
b->alloc = newalloc;
|
b->alloc = newalloc;
|
||||||
*b->ptr = ptr;
|
*b->ptr = ptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user