summaryrefslogtreecommitdiff
path: root/source4/lib/data_blob.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/data_blob.c')
-rw-r--r--source4/lib/data_blob.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source4/lib/data_blob.c b/source4/lib/data_blob.c
index d2147be6b2..c5f15f1271 100644
--- a/source4/lib/data_blob.c
+++ b/source4/lib/data_blob.c
@@ -63,13 +63,18 @@ DATA_BLOB data_blob_talloc_named(TALLOC_CTX *mem_ctx, const void *p, size_t leng
/*******************************************************************
- construct a data blob which is a reference to another blob, in
-the given mem context
+ reference a data blob, to the supplied TALLOC_CTX.
+ Returns a NULL DATA_BLOB on failure
*******************************************************************/
DATA_BLOB data_blob_talloc_reference(TALLOC_CTX *mem_ctx, DATA_BLOB *blob)
{
DATA_BLOB ret = *blob;
- ret.data = talloc_reference(mem_ctx, ret.data);
+
+ ret.data = talloc_reference(mem_ctx, blob->data);
+
+ if (!ret.data) {
+ return data_blob(NULL, 0);
+ }
return ret;
}