From db1db52da1972f0ae23b2975651efbe5883605b4 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sun, 3 Nov 2019 20:30:34 +0100 Subject: [PATCH] Fix random crash caused by UPNP flood --- tasmota/_changelog.ino | 1 + tasmota/support_udp.ino | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) 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); } }