summaryrefslogtreecommitdiff
path: root/source3/lib/util_unistr.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2003-04-23 14:07:33 +0000
committerAndrew Bartlett <abartlet@samba.org>2003-04-23 14:07:33 +0000
commit66468d23158694383f3759464ffa7ade1c1d6d6c (patch)
treebac4cf18f706365582693752c3cad8f1d14f7da9 /source3/lib/util_unistr.c
parent11c453951a336969df3523779046fbd1380bcd64 (diff)
downloadsamba-66468d23158694383f3759464ffa7ade1c1d6d6c.tar.gz
samba-66468d23158694383f3759464ffa7ade1c1d6d6c.tar.bz2
samba-66468d23158694383f3759464ffa7ade1c1d6d6c.zip
Patch by Metze to ensure that we always at least initialize our output string
for rpc_pull_string. If we had a NULL or zero-length string, we would use uninitialised data in the result string. Andrew Bartlett (This used to be commit df10aee451b431a8a056a949a98393da256185da)
Diffstat (limited to 'source3/lib/util_unistr.c')
-rw-r--r--source3/lib/util_unistr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/lib/util_unistr.c b/source3/lib/util_unistr.c
index 08bb03986f..5df0828295 100644
--- a/source3/lib/util_unistr.c
+++ b/source3/lib/util_unistr.c
@@ -229,7 +229,10 @@ char *skip_unibuf(char *src, size_t len)
*/
int rpcstr_pull(char* dest, void *src, int dest_len, int src_len, int flags)
{
- if (!src) return 0;
+ if (!src) {
+ dest[0] = 0;
+ return 0;
+ }
if(dest_len==-1) dest_len=MAXUNI-3;
return pull_ucs2(NULL, dest, src, dest_len, src_len, flags|STR_UNICODE|STR_NOALIGN);
}