in src/vasprintf.c [151:171]
static int realloc_buff(xprintf_struct *s, size_t len)
{
char * ptr;
if (len + ALLOC_SECURITY_MARGIN + s->real_len > s->buffer_len) {
len += s->real_len + ALLOC_CHUNK;
ptr = (char *)realloc((void *)(s->buffer_base), len);
if (ptr == NULL) {
s->buffer_base = NULL;
return EOF;
}
s->dest_string = ptr + (size_t)(s->dest_string - s->buffer_base);
s->buffer_base = ptr;
s->buffer_len = len;
(s->buffer_base)[s->buffer_len - 1] = 1; /* overflow marker */
}
return 0;
}