diff --git a/C4/SIP/SIPServer.pm b/C4/SIP/SIPServer.pm index d897a55a37..186373b3c8 100644 --- a/C4/SIP/SIPServer.pm +++ b/C4/SIP/SIPServer.pm @@ -323,8 +323,8 @@ sub raw_transport { siplog( "LOG_DEBUG", "raw_transport: uname/inst: '%s/%s'", - $self->{account}->{id}, - $self->{account}->{institution} + $self->{account}->{id} // 'undef', + $self->{account}->{institution} // 'undef' ); if ( !$self->{account}->{id} ) { siplog( "LOG_ERR", "Login failed shutting down" ); diff --git a/C4/SIP/Sip.pm b/C4/SIP/Sip.pm index c1450c8dff..c4cff7ee94 100644 --- a/C4/SIP/Sip.pm +++ b/C4/SIP/Sip.pm @@ -311,7 +311,15 @@ sub siplog { : $level eq 'LOG_WARNING' ? 'warn' : 'error'; - my $message = @args ? sprintf( $mask, @args ) : $mask; + my $message; + if (@args) { + + # Replace undefined values with 'undef' to prevent sprintf warnings + my @safe_args = map { defined($_) ? $_ : 'undef' } @args; + $message = sprintf( $mask, @safe_args ); + } else { + $message = $mask; + } $message = remove_password_from_message($message);