diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-08-29 13:07:03 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 15:03:10 -0500 |
commit | 0b91f3916430d0271eab867675d44c5439de40c2 (patch) | |
tree | 8740c4d73ec89cd60125117ed45e80b771e9e06b /source4/lib/util/data_blob.c | |
parent | b867b3c1470ee260fe2fd14f628728f01f7917ac (diff) | |
download | samba-0b91f3916430d0271eab867675d44c5439de40c2.tar.gz samba-0b91f3916430d0271eab867675d44c5439de40c2.tar.xz samba-0b91f3916430d0271eab867675d44c5439de40c2.zip |
r24780: More work allowing libutil to be used by external users.
(This used to be commit 31993cf67b816a184a4a4e92ef8ca2532c797190)
Diffstat (limited to 'source4/lib/util/data_blob.c')
-rw-r--r-- | source4/lib/util/data_blob.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/source4/lib/util/data_blob.c b/source4/lib/util/data_blob.c index df8e7938352..117043f95c2 100644 --- a/source4/lib/util/data_blob.c +++ b/source4/lib/util/data_blob.c @@ -196,38 +196,37 @@ _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length) /** realloc a data_blob **/ -_PUBLIC_ NTSTATUS data_blob_realloc(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, size_t length) +_PUBLIC_ bool data_blob_realloc(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, size_t length) { blob->data = talloc_realloc_size(mem_ctx, blob->data, length); - NT_STATUS_HAVE_NO_MEMORY(blob->data); + if (blob->data == NULL) + return false; blob->length = length; - return NT_STATUS_OK; + return true; } /** append some data to a data blob **/ -_PUBLIC_ NTSTATUS data_blob_append(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, +_PUBLIC_ bool data_blob_append(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const void *p, size_t length) { - NTSTATUS status; size_t old_len = blob->length; size_t new_len = old_len + length; if (new_len < length || new_len < old_len) { - return NT_STATUS_NO_MEMORY; + return false; } if ((const uint8_t *)p + length < (const uint8_t *)p) { - return NT_STATUS_NO_MEMORY; + return false; } - status = data_blob_realloc(mem_ctx, blob, new_len); - if (!NT_STATUS_IS_OK(status)) { - return status; + if (!data_blob_realloc(mem_ctx, blob, new_len)) { + return false; } memcpy(blob->data + old_len, p, length); - return NT_STATUS_OK; + return true; } |