diff options
author | Gerald Carter <jerry@samba.org> | 2005-09-16 20:59:12 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:03:40 -0500 |
commit | fbaa3fb8d8724b5bdbd7e0efbbf0e7c2149348c7 (patch) | |
tree | 86018e854093b51ee7430ac96eef78e1339318a3 /source3/rpc_parse | |
parent | 20f2305c50dc7eedd3b211a13937b2ed85235971 (diff) | |
download | samba-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.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; |