diff options
Diffstat (limited to 'source4/lib/data_blob.c')
-rw-r--r-- | source4/lib/data_blob.c | 11 |
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; } |