Browse Source

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, <STDIN> line 1.
Use of uninitialized value $key in index at /kohadevbox/koha/C4/SIP/Sip/MsgType.pm line 337, <STDIN> line 2.
4 - Apply patch and restart all the things
5 - Repeat 2
6 - Errors mentioned are gone

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Colin Campbell 3 years ago
committed by Jonathan Druart
parent
commit
cd40febe67
  1. 2
      C4/SIP/Sip/MsgType.pm

2
C4/SIP/Sip/MsgType.pm

@ -333,7 +333,7 @@ sub handle {
# Set system preference overrides, first global, then account level # Set system preference overrides, first global, then account level
# Clear overrides from previous message handling first # 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; delete $ENV{$key} if index($key, 'OVERRIDE_SYSPREF_') > 0;
} }
foreach my $key ( keys %{ $config->{'syspref_overrides'} } ) { foreach my $key ( keys %{ $config->{'syspref_overrides'} } ) {

Loading…
Cancel
Save