rpcrt4: Correctly handle the failure of RPCRT4_SecurePacket in RPCRT4_Receive.
This commit is contained in:
parent
b7bf91f5e8
commit
e0e27e4dfb
|
@ -828,12 +828,15 @@ RPC_STATUS RPCRT4_Receive(RpcConnection *Connection, RpcPktHdr **Header,
|
||||||
if ((common_hdr.ptype != PKT_BIND) &&
|
if ((common_hdr.ptype != PKT_BIND) &&
|
||||||
(common_hdr.ptype != PKT_BIND_ACK) &&
|
(common_hdr.ptype != PKT_BIND_ACK) &&
|
||||||
(common_hdr.ptype != PKT_AUTH3))
|
(common_hdr.ptype != PKT_AUTH3))
|
||||||
|
{
|
||||||
status = RPCRT4_SecurePacket(Connection, SECURE_PACKET_RECEIVE,
|
status = RPCRT4_SecurePacket(Connection, SECURE_PACKET_RECEIVE,
|
||||||
*Header, hdr_length,
|
*Header, hdr_length,
|
||||||
(unsigned char *)pMsg->Buffer + buffer_length, data_length,
|
(unsigned char *)pMsg->Buffer + buffer_length, data_length,
|
||||||
(RpcAuthVerifier *)auth_data,
|
(RpcAuthVerifier *)auth_data,
|
||||||
(unsigned char *)auth_data + sizeof(RpcAuthVerifier),
|
(unsigned char *)auth_data + sizeof(RpcAuthVerifier),
|
||||||
header_auth_len - sizeof(RpcAuthVerifier));
|
header_auth_len - sizeof(RpcAuthVerifier));
|
||||||
|
if (status != RPC_S_OK) goto fail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer_length += data_length;
|
buffer_length += data_length;
|
||||||
|
|
Loading…
Reference in New Issue