@@ -, +, @@ summary field flag in indexes 6-9 will crash server i.e.: 6300120200617 124846 Y AOMIDAY|AA21030050054321 --- C4/SIP/Sip/MsgType.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/C4/SIP/Sip/MsgType.pm +++ a/C4/SIP/Sip/MsgType.pm @@ -911,7 +911,6 @@ sub handle_login { sub summary_info { my ( $ils, $patron, $summary, $start, $end, $server ) = @_; my $resp = ''; - my $summary_type; # # Map from offsets in the "summary" field of the Patron Information @@ -926,9 +925,10 @@ sub summary_info { { func => $patron->can("unavail_holds"), fid => FID_UNAVAILABLE_HOLD_ITEMS }, ); - if ( ( $summary_type = index( $summary, 'Y' ) ) == -1 ) { - return ''; # No detailed information required - } + my $summary_type = index( $summary, 'Y' ); + return q{} if $summary_type == -1; # No detailed information required. + return q{} if $summary_type > 5; # Positions 6-9 are not defined in the sip spec, + # and we have no extensions to handle them. siplog( "LOG_DEBUG", "Summary_info: index == '%d', field '%s'", $summary_type, $summary_map[$summary_type]->{fid} ); --