diff --git a/buffer.c b/buffer.c index 7b8b9a0..6214c44 100644 --- a/buffer.c +++ b/buffer.c @@ -133,9 +133,10 @@ buffer_length(buffer_t *self) { int buffer_resize(buffer_t *self, size_t n) { n = nearest_multiple_of(1024, n); + char* result = realloc(self->alloc, n + 1); + if (!result) return -1; self->len = n; - self->alloc = self->data = realloc(self->alloc, n + 1); - if (!self->alloc) return -1; + self->alloc = self->data = result; self->alloc[n] = '\0'; return 0; }