summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-03-27 12:38:45 +0000
committerAndrew Tridgell <tridge@samba.org>2000-03-27 12:38:45 +0000
commit18bc76a0c6830358a137b4198e17b1b7ce92b9bf (patch)
tree80ddeebfb47c978607be5c708ec5e81d10b91d6a /source3/libsmb
parent6570b48d73d4d6597cf8f17040cb57e8b16394dd (diff)
downloadsamba-18bc76a0c6830358a137b4198e17b1b7ce92b9bf.tar.gz
samba-18bc76a0c6830358a137b4198e17b1b7ce92b9bf.tar.bz2
samba-18bc76a0c6830358a137b4198e17b1b7ce92b9bf.zip
changed the definition of dos_PutUniCode
the previous definition could result is us overflowing a buffer. The null termination was always added yet the size returned did not include the null termination. the new function takes a BOOL null_terminate, and always returns the total number of bytes consumed by the string. (This used to be commit 426c90433396a95033eefcc4af97603abc934221)
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/namequery.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c
index 08f26f10d5..290a91f7b5 100644
--- a/source3/libsmb/namequery.c
+++ b/source3/libsmb/namequery.c
@@ -759,8 +759,7 @@ BOOL lookup_pdc_name(const char *srcname, const char *domain, struct in_addr *pd
mailslot_name = bufp;
bufp += (strlen(bufp) + 1);
bufp = align2(bufp, buffer);
- dos_PutUniCode(bufp, srcname, sizeof(buffer) - (bufp - buffer) - 1);
- bufp = skip_unicode_string(bufp, 1);
+ bufp += dos_PutUniCode(bufp, srcname, sizeof(buffer) - (bufp - buffer) - 1, True);
SIVAL(bufp,0,1);
SSVAL(bufp,4,0xFFFF);
SSVAL(bufp,6,0xFFFF);