From cc552932077f23d2d8952f07d795bac2b0a284df Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 10 Mar 2013 15:13:14 +0000 Subject: [PATCH] Some security checks git-svn-id: https://svn.fhem.de/fhem/trunk@2884 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/01_FHEMWEB.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 76d531660..179d8ec35 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -595,7 +595,7 @@ FW_digestCgi($) $arg =~ s,^.*?[?],,; foreach my $pv (split("&", $arg)) { $pv =~ s/\+/ /g; - $pv =~ s/%(..)/chr(hex($1))/ge; + $pv =~ s/%([\dA-F][\dA-F])/chr(hex($1))/ige; my ($p,$v) = split("=",$pv, 2); # Multiline: escape the NL for fhem @@ -643,7 +643,7 @@ FW_updateHashes() foreach my $d (sort keys %defs ) { next if(IsIgnored($d)); my $t = AttrVal($d, "subType", $defs{$d}{TYPE}); - $t = AttrVal($d, "model", $t) if($t eq "unknown"); + $t = AttrVal($d, "model", $t) if($t && $t eq "unknown"); # RKO: ??? $FW_types{$d} = $t; } @@ -2370,7 +2370,8 @@ FW_roomStatesForInform($) my @rl = devspec2array("room=$room"); foreach my $dn (@rl) { my ($allSet, $cmdlist, $txt) = FW_devState($dn, ""); - $data .= "$dn<<$defs{$dn}{STATE}<<$txt\r\n"; + $data .= "$dn<<$defs{$dn}{STATE}<<$txt\r\n" + if($defs{$dn} && $defs{$dn}{STATE}); } return $data; }