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.
pull/1286/head
Victor Julien 11 years ago
parent 6fa8922ccd
commit 6e174128c8

@ -66,7 +66,7 @@ static int pkt_pool_thread_key_initialized = 0;
static void PktPoolThreadDestroy(void * buf) static void PktPoolThreadDestroy(void * buf)
{ {
free(buf); SCFreeAligned(buf);
} }
static void TmqhPacketPoolInit(void) static void TmqhPacketPoolInit(void)
@ -101,6 +101,8 @@ static PktPool *ThreadPacketPoolCreate(void)
SCLogError(SC_ERR_MEM_ALLOC, "malloc failed"); SCLogError(SC_ERR_MEM_ALLOC, "malloc failed");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
memset(pool,0x0,sizeof(*pool));
int r = pthread_setspecific(pkt_pool_thread_key, pool); int r = pthread_setspecific(pkt_pool_thread_key, pool);
if (r != 0) { if (r != 0) {
SCLogError(SC_ERR_MEM_ALLOC, "pthread_setspecific failed with %d", r); SCLogError(SC_ERR_MEM_ALLOC, "pthread_setspecific failed with %d", r);

Loading…
Cancel
Save