You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MessageParser.cpp on Network\ has a function ParsePacket(...) which is responsible for the correct parsing of all incoming UDP packets directly from the buffer.
The first check it does is to determine that the buffer contains at least one segment of data:
int rows_received = (bytesReceived - headerSize) / structSize;
if (rows_received < 1) {
status = 1;
return;
}
This check can successfully bail out of processing when a packet too small is received.
However there is no check in place when an impossibly huge packet is received. X-Plane has a finite amount of data that can be sent at a time from a single packet. This size could be determined and added to the code as an additional check.
The program will then bail out of processing a too big packet.
The text was updated successfully, but these errors were encountered:
MessageParser.cpp
onNetwork\
has a functionParsePacket(...)
which is responsible for the correct parsing of all incoming UDP packets directly from the buffer.The first check it does is to determine that the buffer contains at least one segment of data:
This check can successfully bail out of processing when a packet too small is received.
However there is no check in place when an impossibly huge packet is received. X-Plane has a finite amount of data that can be sent at a time from a single packet. This size could be determined and added to the code as an additional check.
The program will then bail out of processing a too big packet.
The text was updated successfully, but these errors were encountered: