summaryrefslogtreecommitdiffstats
path: root/source/rpc_parse
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-09-16 20:59:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:03:40 -0500
commit0fd02f1477dbf38ddab614b1171ac66124e15cf3 (patch)
tree1721d0688b59146f30282b97611e1bd510dd4957 /source/rpc_parse
parent54eab3828aa0405288b68f6954abba201564c9e7 (diff)
downloadsamba-0fd02f1477dbf38ddab614b1171ac66124e15cf3.tar.gz
samba-0fd02f1477dbf38ddab614b1171ac66124e15cf3.tar.xz
samba-0fd02f1477dbf38ddab614b1171ac66124e15cf3.zip
r10278: more fixes for bug 3080. Ensure the length on the message string is correct. Windows 2000 is very senstive io this apparently
Diffstat (limited to 'source/rpc_parse')
-rw-r--r--source/rpc_parse/parse_reg.c7
-rw-r--r--source/rpc_parse/parse_shutdown.c6
2 files changed, 13 insertions, 0 deletions
diff --git a/source/rpc_parse/parse_reg.c b/source/rpc_parse/parse_reg.c
index c9e09b65280..57157ce17e0 100644
--- a/source/rpc_parse/parse_reg.c
+++ b/source/rpc_parse/parse_reg.c
@@ -1487,6 +1487,13 @@ void init_reg_q_shutdown(REG_Q_SHUTDOWN *q_u, const char *msg,
if ( msg && *msg ) {
q_u->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
init_unistr4( q_u->message, msg, UNI_FLAGS_NONE );
+
+ /* Win2000 is apparently very sensitive to these lengths */
+ /* do a special case here */
+
+ q_u->message->string->uni_max_len++;
+ q_u->message->size += 2;
+
}
q_u->timeout = timeout;
diff --git a/source/rpc_parse/parse_shutdown.c b/source/rpc_parse/parse_shutdown.c
index eaed6860121..dac33243f17 100644
--- a/source/rpc_parse/parse_shutdown.c
+++ b/source/rpc_parse/parse_shutdown.c
@@ -37,6 +37,12 @@ void init_shutdown_q_init(SHUTDOWN_Q_INIT *q_s, const char *msg,
if ( msg && *msg ) {
q_s->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
init_unistr4( q_s->message, msg, UNI_FLAGS_NONE );
+
+ /* Win2000 is apparently very sensitive to these lengths */
+ /* do a special case here */
+
+ q_s->message->string->uni_max_len++;
+ q_s->message->size += 2;
}
q_s->timeout = timeout;