From d9ee325e8b3c9d0ac8f8ba4d9a1b592d8d5b4952 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Tue, 30 Mar 2021 12:13:27 +0100 Subject: [PATCH] Bug 28052: Do not check SYSENV values only keys in loop Loop is only interested in key values, because 'keys' is omitted it is checking values as well. This can lead to misleading errors being logged (e.g. key is undefined) Extract keys only to loop array as in the other loops below this Testing: 1 - tail /var/lib/koha/kohadev/sip-output.log 2 - in another tab use the sip cli tester: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL -m checkin --item CHESS1 3 - Note errors: Use of uninitialized value $key in index at /kohadevbox/koha/C4/SIP/Sip/MsgType.pm line 337, line 1. Use of uninitialized value $key in index at /kohadevbox/koha/C4/SIP/Sip/MsgType.pm line 337, line 2. 4 - Apply patch and restart all the things 5 - Repeat 2 6 - Errors mentioned are gone Signed-off-by: Martin Renvoize Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart (cherry picked from commit cd40febe67b4d75e57311ff1673d0c34299b58fe) Signed-off-by: Fridolin Somers (cherry picked from commit 0a7cf00d207369c3d46d2dc7078fe8e5574abeb2) Signed-off-by: Andrew Fuerste-Henry --- C4/SIP/Sip/MsgType.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/SIP/Sip/MsgType.pm b/C4/SIP/Sip/MsgType.pm index a365107c8a..e6a2abb2a1 100644 --- a/C4/SIP/Sip/MsgType.pm +++ b/C4/SIP/Sip/MsgType.pm @@ -333,7 +333,7 @@ sub handle { # Set system preference overrides, first global, then account level # Clear overrides from previous message handling first - foreach my $key ( %ENV ) { + foreach my $key ( keys %ENV ) { delete $ENV{$key} if index($key, 'OVERRIDE_SYSPREF_') > 0; } foreach my $key ( keys %{ $config->{'syspref_overrides'} } ) { -- 2.39.5