From 7caa4b12a6e12ecde8ce81629d08f74837ac8662 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Wed, 29 Jan 2020 10:19:12 +0100 Subject: [PATCH] method_eap: tolerate empty request packets TLS methods call process_request_packet(NULL, 0) to check on the inner method for the payload to piggyback on the final handshake response. Signed-off-by: Simon Rozman --- lib/EAPBase/src/Method.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/EAPBase/src/Method.cpp b/lib/EAPBase/src/Method.cpp index 448b52b..25a07a1 100644 --- a/lib/EAPBase/src/Method.cpp +++ b/lib/EAPBase/src/Method.cpp @@ -234,6 +234,8 @@ EapPeerMethodResponseAction eap::method_eap::process_request_packet( _In_bytecount_(dwReceivedPacketSize) const void *pReceivedPacket, _In_ DWORD dwReceivedPacketSize) { + if (dwReceivedPacketSize == 0) + return EapPeerMethodResponseActionNone; if (dwReceivedPacketSize < offsetof(EapPacket, Data)) throw win_runtime_error(EAP_E_EAPHOST_METHOD_INVALID_PACKET, __FUNCTION__ " Incomplete EAP packet header.");