From b551bec9bc298fbade6bfe5c009dd417c5abd95f Mon Sep 17 00:00:00 2001 From: james Date: Sun, 27 Jul 2008 05:31:09 +0000 Subject: Added additional defensive programming to buffer.[ch] functions. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3128 e7ae566f-a301-0410-adde-c780ea21d3b5 --- buffer.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'buffer.c') diff --git a/buffer.c b/buffer.c index 0fe9b61..dfaaaa1 100644 --- a/buffer.c +++ b/buffer.c @@ -42,6 +42,12 @@ array_mult_safe (const size_t m1, const size_t m2) return (size_t) res; } +void +buf_size_error (size_t size) +{ + msg (M_FATAL, "fatal buffer size error, size=%lu", (unsigned long)size); +} + struct buffer #ifdef DMALLOC alloc_buf_debug (size_t size, const char *file, int line) @@ -64,6 +70,8 @@ alloc_buf_gc (size_t size, struct gc_arena *gc) #endif { struct buffer buf; + if (!buf_size_valid (size)) + buf_size_error (size); buf.capacity = (int)size; buf.offset = 0; buf.len = 0; -- cgit