Properly handle Native Fragmentation packet of bigger or equal size than the fragment size
This commit is contained in:
parent
46c4f36de8
commit
372cc6a45d
|
|
@ -458,6 +458,13 @@ static void send_native_fragment(HANDLE w_filter, WINDIVERT_ADDRESS addr,
|
||||||
memcpy(&packet_bak, packet, packetLen);
|
memcpy(&packet_bak, packet, packetLen);
|
||||||
UINT orig_packetLen = packetLen;
|
UINT orig_packetLen = packetLen;
|
||||||
|
|
||||||
|
if (fragment_size >= packet_dataLen) {
|
||||||
|
if (step == 1)
|
||||||
|
fragment_size = 0;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (step == 0) {
|
if (step == 0) {
|
||||||
if (packet_v4)
|
if (packet_v4)
|
||||||
ppIpHdr->Length = htons(
|
ppIpHdr->Length = htons(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue