diff --git a/tasmota/_changelog.ino b/tasmota/_changelog.ino index 637d765a3..30d61ba20 100644 --- a/tasmota/_changelog.ino +++ b/tasmota/_changelog.ino @@ -1,6 +1,7 @@ /*********************************************************************************************\ * 7.0.0.3 20191103 * Initial support for I2C driver runtime control using command I2CDriver and document I2CDEVICES.md + * Fix random crash caused by UPNP flood * * 7.0.0.2 20191102 * Add command WebColor19 to control color of Module and Name (#6811) diff --git a/tasmota/support_udp.ino b/tasmota/support_udp.ino index f7c83775f..9a33bcfed 100644 --- a/tasmota/support_udp.ino +++ b/tasmota/support_udp.ino @@ -75,7 +75,7 @@ bool UdpConnect(void) void PollUdp(void) { if (udp_connected) { - if (PortUdp.parsePacket()) { + while (PortUdp.parsePacket()) { char packet_buffer[UDP_BUFFER_SIZE]; // buffer to hold incoming UDP/SSDP packet int len = PortUdp.read(packet_buffer, UDP_BUFFER_SIZE -1); @@ -134,7 +134,7 @@ void PollUdp(void) } } - delay(1); + optimistic_yield(100); } }