From 5bb67f6738f0eb99558618412cd0b035538f77c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Tue, 31 Mar 2015 10:42:21 +0200 Subject: Check return value of realloc --- buffer.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'buffer.c') diff --git a/buffer.c b/buffer.c index a3e623d..6763676 100644 --- a/buffer.c +++ b/buffer.c @@ -12,13 +12,11 @@ bool buffer_alloc(Buffer *buf, size_t size) { if (buf->size < size) { if (buf->size > 0) size *= 2; - buf->data = realloc(buf->data, size); - if (!buf->data) { - buf->size = 0; - buf->len = 0; + char *data = realloc(buf->data, size); + if (!data) return false; - } buf->size = size; + buf->data = data; } return true; } -- cgit v1.2.3