don't read packets that are too small

This commit is contained in:
Stephen Birarda 2015-08-27 15:34:53 -07:00
parent d0db56a4a6
commit b4e624a64d

View file

@ -55,6 +55,9 @@ void IceServer::processDatagrams() {
_serverSocket.readDatagram(buffer.get(), packetSizeWithHeader, _serverSocket.readDatagram(buffer.get(), packetSizeWithHeader,
sendingSockAddr.getAddressPointer(), sendingSockAddr.getPortPointer()); sendingSockAddr.getAddressPointer(), sendingSockAddr.getPortPointer());
// make sure that this packet at least looks like something we can read
if (packetSizeWithHeader >= Packet::localHeaderSize(PacketType::ICEServerHeartbeat)) {
auto packet = Packet::fromReceivedPacket(std::move(buffer), packetSizeWithHeader, sendingSockAddr); auto packet = Packet::fromReceivedPacket(std::move(buffer), packetSizeWithHeader, sendingSockAddr);
PacketType::Value packetType = packet->getType(); PacketType::Value packetType = packet->getType();
@ -98,6 +101,7 @@ void IceServer::processDatagrams() {
} }
} }
} }
}
} }
SharedNetworkPeer IceServer::addOrUpdateHeartbeatingPeer(Packet& packet) { SharedNetworkPeer IceServer::addOrUpdateHeartbeatingPeer(Packet& packet) {