From 852507e0edf8c1775cf750ed5c8ba936840120d6 Mon Sep 17 00:00:00 2001 From: Beta-User <> Date: Sat, 5 Feb 2022 15:42:57 +0000 Subject: [PATCH] 98_WeekdayTimer: harden decode_json git-svn-id: https://svn.fhem.de/fhem/trunk@25632 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_WeekdayTimer.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/98_WeekdayTimer.pm b/fhem/FHEM/98_WeekdayTimer.pm index fabe6eae6..77fae2c8b 100644 --- a/fhem/FHEM/98_WeekdayTimer.pm +++ b/fhem/FHEM/98_WeekdayTimer.pm @@ -638,7 +638,11 @@ E: while ( @{ $arr } > 0 ) { Log3( $hash, 3, "[$name] weekprofile $wp_name: no profile named \"$wp_profile\" available" ); return; } - my $wp_profile_unpacked = decode_json($wp_profile_data); + my $wp_profile_unpacked; + if ( !eval { $wp_profile_unpacked = decode_json($wp_profile_data) ; 1 } ) { + Log3($hash, 1, "$name:JSON decoding error in weekprofile: $@"); + return; + } $hash->{weekprofiles}{$wp_name} = {'PROFILE'=>$wp_profile,'PROFILE_JSON'=>$wp_profile_data,'SunAsWE'=>$wp_sunaswe,'PROFILE_DATA'=>$wp_profile_unpacked }; my %wp_shortDays = ("Mon"=>1,"Tue"=>2,"Wed"=>3,"Thu"=>4,"Fri"=>5,"Sat"=>6,"Sun"=>0); for my $wp_days (sort keys %{$hash->{weekprofiles}{$wp_name}{PROFILE_DATA}}) {