size_t total_size = size + sizeof(MemBuffer);
- MemBuffer *buffer = SCMalloc(total_size);
+ MemBuffer *buffer = SCCalloc(1, total_size);
if (unlikely(buffer == NULL)) {
sc_errno = SC_ENOMEM;
return NULL;
}
buffer->size = size;
- buffer->buffer = (uint8_t *)buffer + sizeof(MemBuffer);
-
return buffer;
}
}
*buffer = tbuffer;
(*buffer)->size += expand_by;
- (*buffer)->buffer = (uint8_t *)tbuffer + sizeof(MemBuffer);
SCLogDebug("expanded buffer by %u, size is now %u", expand_by, (*buffer)->size);
return 0;
#define __UTIL_BUFFER_H__
typedef struct MemBuffer_ {
- uint8_t *buffer;
- uint32_t size;
- uint32_t offset;
+ uint32_t size;
+ uint32_t offset;
+ uint8_t buffer[];
} MemBuffer;
MemBuffer *MemBufferCreateNew(uint32_t size);