summaryrefslogtreecommitdiff
path: root/source3/libmsrpc/libmsrpc_internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libmsrpc/libmsrpc_internal.c')
-rw-r--r--source3/libmsrpc/libmsrpc_internal.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/source3/libmsrpc/libmsrpc_internal.c b/source3/libmsrpc/libmsrpc_internal.c
index 64e6332e80..3cb702e376 100644
--- a/source3/libmsrpc/libmsrpc_internal.c
+++ b/source3/libmsrpc/libmsrpc_internal.c
@@ -299,12 +299,16 @@ REG_VALUE_DATA *cac_MakeRegValueData( TALLOC_CTX * mem_ctx, uint32 data_type,
break;
}
- strings = TALLOC_ARRAY( mem_ctx, char *, num_strings );
+ if (num_strings) {
+ strings = TALLOC_ARRAY( mem_ctx, char *, num_strings );
- if ( !strings ) {
- errno = ENOMEM;
- TALLOC_FREE( data );
- break;
+ if ( !strings ) {
+ errno = ENOMEM;
+ TALLOC_FREE( data );
+ break;
+ }
+ } else {
+ strings = NULL;
}
if ( num_strings == 0 ) /*then our work here is done */