diff options
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r-- | source3/rpc_parse/parse_reg.c | 7 | ||||
-rw-r--r-- | source3/rpc_parse/parse_shutdown.c | 6 |
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; |