summaryrefslogtreecommitdiff
path: root/source3/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
commitfbaa3fb8d8724b5bdbd7e0efbbf0e7c2149348c7 (patch)
tree86018e854093b51ee7430ac96eef78e1339318a3 /source3/rpc_parse
parent20f2305c50dc7eedd3b211a13937b2ed85235971 (diff)
downloadsamba-fbaa3fb8d8724b5bdbd7e0efbbf0e7c2149348c7.tar.gz
samba-fbaa3fb8d8724b5bdbd7e0efbbf0e7c2149348c7.tar.bz2
samba-fbaa3fb8d8724b5bdbd7e0efbbf0e7c2149348c7.zip
r10278: more fixes for bug 3080. Ensure the length on the message string is correct. Windows 2000 is very senstive io this apparently
(This used to be commit 0fd02f1477dbf38ddab614b1171ac66124e15cf3)
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r--source3/rpc_parse/parse_reg.c7
-rw-r--r--source3/rpc_parse/parse_shutdown.c6
2 files changed, 13 insertions, 0 deletions
diff --git a/source3/rpc_parse/parse_reg.c b/source3/rpc_parse/parse_reg.c
index c9e09b6528..57157ce17e 100644
--- a/source3/rpc_parse/parse_reg.c
+++ b/source3/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/source3/rpc_parse/parse_shutdown.c b/source3/rpc_parse/parse_shutdown.c
index eaed686012..dac33243f1 100644
--- a/source3/rpc_parse/parse_shutdown.c
+++ b/source3/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;