aboutsummaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/buffer.c b/buffer.c
index 7bf0e4b0..6dd3e3ee 100644
--- a/buffer.c
+++ b/buffer.c
@@ -1,4 +1,4 @@
-/* $Id: buffer.c,v 1.4 2007-12-06 09:46:21 nicm Exp $ */
+/* $Id: buffer.c,v 1.5 2008-08-07 20:20:52 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -71,7 +71,12 @@ buffer_ensure(struct buffer *b, size_t size)
b->off = 0;
}
- ENSURE_FOR(b->base, b->space, b->size, size);
+ if (SIZE_MAX - b->size < size)
+ fatalx("size too big");
+ while (b->space < b->size + size) {
+ b->base = xrealloc(b->base, 2, b->space);
+ b->space *= 2;
+ }
}
/* Adjust buffer after data appended. */