From 0a7cf00d207369c3d46d2dc7078fe8e5574abeb2 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 --- 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 62d3d5fcfc..1e38f29a68 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