{
Pool *p = NULL;
- if (size != 0 && prealloc_size > size)
+ if (size != 0 && prealloc_size > size) {
+ SCLogError(SC_ERR_POOL_INIT, "size error");
goto error;
- if (size != 0 && elt_size == 0)
+ }
+ if (size != 0 && elt_size == 0) {
+ SCLogError(SC_ERR_POOL_INIT, "size != 0 && elt_size == 0");
goto error;
- if (elt_size && Free)
+ }
+ if (elt_size && Free) {
+ SCLogError(SC_ERR_POOL_INIT, "elt_size && Free");
goto error;
+ }
/* setup the filter */
p = SCMalloc(sizeof(Pool));
- if (unlikely(p == NULL))
+ if (unlikely(p == NULL)) {
+ SCLogError(SC_ERR_POOL_INIT, "alloc error");
goto error;
+ }
memset(p,0,sizeof(Pool));
uint32_t u32 = 0;
if (size > 0) {
PoolBucket *pb = SCCalloc(size, sizeof(PoolBucket));
- if (unlikely(pb == NULL))
+ if (unlikely(pb == NULL)) {
+ SCLogError(SC_ERR_POOL_INIT, "alloc error");
goto error;
+ }
p->pb_buffer = pb;
memset(pb, 0, size * sizeof(PoolBucket));
for (u32 = 0; u32 < size; u32++) {
if (size > 0) {
p->data_buffer = SCCalloc(prealloc_size, elt_size);
/* FIXME better goto */
- if (p->data_buffer == NULL)
+ if (p->data_buffer == NULL) {
+ SCLogError(SC_ERR_POOL_INIT, "alloc error");
goto error;
+ }
}
/* prealloc the buckets and requeue them to the alloc list */
for (u32 = 0; u32 < prealloc_size; u32++) {
if (size == 0) { /* unlimited */
PoolBucket *pb = SCMalloc(sizeof(PoolBucket));
- if (unlikely(pb == NULL))
+ if (unlikely(pb == NULL)) {
+ SCLogError(SC_ERR_POOL_INIT, "alloc error");
goto error;
+ }
memset(pb, 0, sizeof(PoolBucket));
pb->data = SCMalloc(p->elt_size);
}
if (pb->data == NULL) {
+ SCLogError(SC_ERR_POOL_INIT, "alloc error");
SCFree(pb);
goto error;
}
if (p->Init(pb->data, p->InitData) != 1) {
+ SCLogError(SC_ERR_POOL_INIT, "init error");
if (p->Cleanup)
p->Cleanup(pb->data);
if (p->Free)
p->alloc_list_size++;
} else {
PoolBucket *pb = p->empty_list;
- if (pb == NULL)
+ if (pb == NULL) {
+ SCLogError(SC_ERR_POOL_INIT, "alloc error");
goto error;
+ }
pb->data = (char *)p->data_buffer + u32 * elt_size;
if (p->Init(pb->data, p->InitData) != 1) {
+ SCLogError(SC_ERR_POOL_INIT, "init error");
if (p->Cleanup)
p->Cleanup(pb->data);
goto error;