summaryrefslogtreecommitdiff
path: root/source3/rpc_parse/parse_dfs.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-09-25 21:26:16 +0000
committerJeremy Allison <jra@samba.org>2003-09-25 21:26:16 +0000
commitd3b9384308e4b5130c9455b853edc4702d7af303 (patch)
tree026331069404a2dfd74d5d1443cf416d9ccaaa09 /source3/rpc_parse/parse_dfs.c
parent6c623b55bd023d9b2afa6ac3d69d814475a493e4 (diff)
downloadsamba-d3b9384308e4b5130c9455b853edc4702d7af303.tar.gz
samba-d3b9384308e4b5130c9455b853edc4702d7af303.tar.bz2
samba-d3b9384308e4b5130c9455b853edc4702d7af303.zip
Fix for #480. Change the interface for init_unistr2 to not take a length
but a flags field. We were assuming that 2*strlen(mb_string) == length of ucs2-le string. This is not the case. Count it after conversion. Jeremy. (This used to be commit f82c273a42f930c7152cfab84394781744815e0e)
Diffstat (limited to 'source3/rpc_parse/parse_dfs.c')
-rw-r--r--source3/rpc_parse/parse_dfs.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/source3/rpc_parse/parse_dfs.c b/source3/rpc_parse/parse_dfs.c
index 6f13500359..0d0ce557b2 100644
--- a/source3/rpc_parse/parse_dfs.c
+++ b/source3/rpc_parse/parse_dfs.c
@@ -80,9 +80,9 @@ BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, const char *entrypath,
const char *servername, const char *sharename)
{
DEBUG(5,("init_dfs_q_dfs_remove\n"));
- init_unistr2(&q_d->DfsEntryPath, entrypath, strlen(entrypath)+1);
- init_unistr2(&q_d->ServerName, servername, strlen(servername)+1);
- init_unistr2(&q_d->ShareName, sharename, strlen(sharename)+1);
+ init_unistr2(&q_d->DfsEntryPath, entrypath, UNI_STR_TERMINATE);
+ init_unistr2(&q_d->ServerName, servername, UNI_STR_TERMINATE);
+ init_unistr2(&q_d->ShareName, sharename, UNI_STR_TERMINATE);
q_d->ptr_ServerName = q_d->ptr_ShareName = 1;
return True;
}
@@ -155,11 +155,11 @@ BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, const char *entrypath,
{
DEBUG(5,("init_dfs_q_dfs_add\n"));
q_d->ptr_DfsEntryPath = q_d->ptr_ServerName = q_d->ptr_ShareName = 1;
- init_unistr2(&q_d->DfsEntryPath, entrypath, strlen(entrypath)+1);
- init_unistr2(&q_d->ServerName, servername, strlen(servername)+1);
- init_unistr2(&q_d->ShareName, sharename, strlen(sharename)+1);
+ init_unistr2(&q_d->DfsEntryPath, entrypath, UNI_STR_TERMINATE);
+ init_unistr2(&q_d->ServerName, servername, UNI_STR_TERMINATE);
+ init_unistr2(&q_d->ShareName, sharename, UNI_STR_TERMINATE);
if(comment != NULL) {
- init_unistr2(&q_d->Comment, comment, strlen(comment)+1);
+ init_unistr2(&q_d->Comment, comment,UNI_STR_TERMINATE);
q_d->ptr_Comment = 1;
} else {
q_d->ptr_Comment = 0;
@@ -237,9 +237,9 @@ BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, const char *entrypath,
uint32 info_level)
{
DEBUG(5,("init_dfs_q2_get_info\n"));
- init_unistr2(&q_d->uni_path, entrypath, strlen(entrypath)+1);
- init_unistr2(&q_d->uni_server, servername, strlen(servername)+1);
- init_unistr2(&q_d->uni_share, sharename, strlen(sharename)+1);
+ init_unistr2(&q_d->uni_path, entrypath, UNI_STR_TERMINATE);
+ init_unistr2(&q_d->uni_server, servername, UNI_STR_TERMINATE);
+ init_unistr2(&q_d->uni_share, sharename, UNI_STR_TERMINATE);
q_d->level = info_level;
q_d->ptr_server = q_d->ptr_share = 1;
return True;