From: Victor Julien Date: Fri, 13 Nov 2015 16:11:08 +0000 (+0100) Subject: htp: add HTPCalloc wrapper X-Git-Tag: suricata-3.0.1RC1~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77f67062dedf40b66773a9a9d7d679536c6e1c6c;p=thirdparty%2Fsuricata.git htp: add HTPCalloc wrapper --- diff --git a/src/app-layer-htp-mem.c b/src/app-layer-htp-mem.c index c4f94e826e..c9caefa2df 100644 --- a/src/app-layer-htp-mem.c +++ b/src/app-layer-htp-mem.c @@ -121,6 +121,23 @@ void *HTPMalloc(size_t size) return ptr; } +void *HTPCalloc(size_t n, size_t size) +{ + void *ptr = NULL; + + if (HTPCheckMemcap((uint32_t)(n * size)) == 0) + return NULL; + + ptr = SCCalloc(n, size); + + if (unlikely(ptr == NULL)) + return NULL; + + HTPIncrMemuse((uint64_t)(n * size)); + + return ptr; +} + void *HTPRealloc(void *ptr, size_t orig_size, size_t size) { void *rptr = NULL; diff --git a/src/app-layer-htp-mem.h b/src/app-layer-htp-mem.h index 44b50f5c08..1039c32ce6 100644 --- a/src/app-layer-htp-mem.h +++ b/src/app-layer-htp-mem.h @@ -19,6 +19,7 @@ void HTPParseMemcap(); void *HTPMalloc(size_t size); +void *HTPCalloc(size_t n, size_t size); void *HTPRealloc(void *ptr, size_t orig_size, size_t size); void HTPFree(void *ptr, size_t size);