summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-03-29 22:56:05 +0000
committerJeremy Allison <jra@samba.org>2006-03-29 22:56:05 +0000
commitec40db4f03b97c579cf128d3ee28dd9266514721 (patch)
treecbafe9f302dbb6127ff1153c275ddacfc39c3237 /source
parentea9576554e2361f6289b0ea6a403b4e917d8f90d (diff)
downloadsamba-ec40db4f03b97c579cf128d3ee28dd9266514721.tar.gz
samba-ec40db4f03b97c579cf128d3ee28dd9266514721.tar.xz
samba-ec40db4f03b97c579cf128d3ee28dd9266514721.zip
r14770: Fix coverity bug #257. Possible null deref.
Jeremy.
Diffstat (limited to 'source')
-rw-r--r--source/rpc_parse/parse_misc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/rpc_parse/parse_misc.c b/source/rpc_parse/parse_misc.c
index 037764e1382..8cd6553a033 100644
--- a/source/rpc_parse/parse_misc.c
+++ b/source/rpc_parse/parse_misc.c
@@ -884,6 +884,10 @@ void init_unistr2(UNISTR2 *str, const char *buf, enum unistr2_term_codes flags)
void init_unistr4(UNISTR4 *uni4, const char *buf, enum unistr2_term_codes flags)
{
uni4->string = TALLOC_P( get_talloc_ctx(), UNISTR2 );
+ if (!uni4->string) {
+ smb_panic("init_unistr4: talloc fail\n");
+ return;
+ }
init_unistr2( uni4->string, buf, flags );
uni4->length = 2 * (uni4->string->uni_str_len);
@@ -893,6 +897,10 @@ void init_unistr4(UNISTR4 *uni4, const char *buf, enum unistr2_term_codes flags)
void init_unistr4_w( TALLOC_CTX *ctx, UNISTR4 *uni4, const smb_ucs2_t *buf )
{
uni4->string = TALLOC_P( ctx, UNISTR2 );
+ if (!uni4->string) {
+ smb_panic("init_unistr4_w: talloc fail\n");
+ return;
+ }
init_unistr2_w( ctx, uni4->string, buf );
uni4->length = 2 * (uni4->string->uni_str_len);
@@ -919,7 +927,7 @@ void init_unistr2_w(TALLOC_CTX *ctx, UNISTR2 *str, const smb_ucs2_t *buf)
str->buffer = TALLOC_ZERO_ARRAY(ctx, uint16, len + 1);
if (str->buffer == NULL) {
- smb_panic("init_unistr2_w: malloc fail\n");
+ smb_panic("init_unistr2_w: talloc fail\n");
return;
}