From 4b10f1916cd000cfd75134c8e1665d72899bc10d Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 25 Aug 2009 12:46:01 -0700 Subject: [PATCH] Windows: MSRPC_WriteMessage, call MSRPC_NewCall at right time In MSRPC_WriteMessage, call MSRPC_NewCall after checking for MAX_RPC_MSG_SIZE and return an error if MSRPC_NewCall fails. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/339 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/msrpc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/msrpc.c b/src/WINNT/afsd/msrpc.c index f430ffa6f..035ec2608 100644 --- a/src/WINNT/afsd/msrpc.c +++ b/src/WINNT/afsd/msrpc.c @@ -972,18 +972,20 @@ MSRPC_FreeConn(msrpc_conn * conn) */ int MSRPC_WriteMessage(msrpc_conn * conn, BYTE * buffer, unsigned int len, - cm_user_t * userp) + cm_user_t * userp) { msrpc_call * call; if (len == 0) return CM_ERROR_INVAL; - call = MSRPC_NewCall(); - if (len > MAX_RPC_MSG_SIZE) return CM_ERROR_BUFFERTOOSMALL; + call = MSRPC_NewCall(); + if (!call) + return ENOMEM; + MSRPC_AllocBuffer(&call->in, len); memcpy(call->in.buf_data, buffer, len); call->in.buf_pos = len; -- 2.39.5