From: Victor Julien Date: Tue, 6 Jan 2015 09:20:40 +0000 (+0100) Subject: packet pool: memory fixes for non-TLS X-Git-Tag: suricata-2.1beta3~66 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e174128c832c7f3a50186d3e17429ade4ce06aa;p=thirdparty%2Fsuricata.git packet pool: memory fixes for non-TLS If the posix TLS implementation is used, the packet pool is memset to 0 before use. Also use proper 'free' function. --- diff --git a/src/tmqh-packetpool.c b/src/tmqh-packetpool.c index ef63ec4e83..bd8761e25a 100644 --- a/src/tmqh-packetpool.c +++ b/src/tmqh-packetpool.c @@ -66,7 +66,7 @@ static int pkt_pool_thread_key_initialized = 0; static void PktPoolThreadDestroy(void * buf) { - free(buf); + SCFreeAligned(buf); } static void TmqhPacketPoolInit(void) @@ -101,6 +101,8 @@ static PktPool *ThreadPacketPoolCreate(void) SCLogError(SC_ERR_MEM_ALLOC, "malloc failed"); exit(EXIT_FAILURE); } + memset(pool,0x0,sizeof(*pool)); + int r = pthread_setspecific(pkt_pool_thread_key, pool); if (r != 0) { SCLogError(SC_ERR_MEM_ALLOC, "pthread_setspecific failed with %d", r);