From 95be8b6983ce34f50922a2c3cb6ad91d8b9c5eec Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Wed, 3 May 2017 05:30:49 +0000 Subject: [PATCH] 00_ZWDongle.pm: Reset on 0-length data (Forum #71457) git-svn-id: https://svn.fhem.de/fhem/trunk@14174 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_ZWDongle.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index 259ec4df9..1aa9f6d06 100755 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -781,9 +781,16 @@ ZWDongle_Read($@) last; } + last if(length($data) < 4); + my $len = substr($data, 2, 2); my $l = hex($len)*2; - last if(!$l || length($data) < $l+4); # Message not yet complete + last if(length($data) < $l+4); # Message not yet complete + + if($l < 4) { # Bogus messages, forget the rest + $data = ""; + last; + } $msg = substr($data, 4, $l-2); my $rcs = substr($data, $l+2, 2); # Received Checksum