#include "includes.h"
/*******************************************************************
- free() a data blob
+ Free() a data blob.
*******************************************************************/
+
static void free_data_blob(DATA_BLOB *d)
{
if ((d) && (d->free)) {
}
/*******************************************************************
- construct a data blob, must be freed with data_blob_free()
- you can pass NULL for p and get a blank data blob
+ Construct a data blob, must be freed with data_blob_free().
+ You can pass NULL for p and get a blank data blob
*******************************************************************/
+
DATA_BLOB data_blob(const void *p, size_t length)
{
DATA_BLOB ret;
if (p) {
ret.data = smb_xmemdup(p, length);
} else {
- ret.data = smb_xmalloc(length);
+ ret.data = SMB_XMALLOC_ARRAY(unsigned char, length);
}
ret.length = length;
ret.free = free_data_blob;
}
/*******************************************************************
- construct a data blob, using supplied TALLOC_CTX
+ Construct a data blob, using supplied TALLOC_CTX.
*******************************************************************/
+
DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length)
{
DATA_BLOB ret;
}
if (p) {
- ret.data = talloc_memdup(mem_ctx, p, length);
+ ret.data = TALLOC_MEMDUP(mem_ctx, p, length);
if (ret.data == NULL)
smb_panic("data_blob_talloc: talloc_memdup failed.\n");
} else {
- ret.data = talloc(mem_ctx, length);
+ ret.data = TALLOC(mem_ctx, length);
if (ret.data == NULL)
smb_panic("data_blob_talloc: talloc failed.\n");
}
}
/*******************************************************************
-free a data blob
+ Free a data blob.
*******************************************************************/
+
void data_blob_free(DATA_BLOB *d)
{
if (d) {
}
/*******************************************************************
-clear a DATA_BLOB's contents
+ Clear a DATA_BLOB's contents
*******************************************************************/
+
static void data_blob_clear(DATA_BLOB *d)
{
if (d->data) {
}
/*******************************************************************
-free a data blob and clear its contents
+ Free a data blob and clear its contents
*******************************************************************/
+
void data_blob_clear_free(DATA_BLOB *d)
{
data_blob_clear(d);
data_blob_free(d);
}
-