Bug 35104: Guard Koha::Exceptions::Metadata::Invalid::full_message against undef fields

full_message() interpolated id/biblionumber/format/schema/decoding_error
directly into a sprintf without checking definedness, producing Perl
warnings whenever one of them is unset (e.g. a new, not-yet-stored
metadata object with no id yet).

Signed-off-by: Baptiste Bayche <baptiste.bayche@inlibro.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Sponsored-by: OpenFifth
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
This commit is contained in:
Martin Renvoize 2026-07-08 12:24:24 +01:00 committed by Pedro Amorim
parent 0490204f7b
commit 50b0ba401b
No known key found for this signature in database
GPG Key ID: 06B75BA7F3894D55
1 changed files with 2 additions and 1 deletions

View File

@ -40,7 +40,8 @@ sub full_message {
if ( $self->isa('Koha::Exceptions::Metadata::Invalid') ) {
$msg = sprintf(
"Invalid data, cannot decode metadata object (biblio_metadata.id=%s, biblionumber=%s, format=%s, schema=%s, decoding_error='%s')",
$self->id, $self->biblionumber, $self->format, $self->schema, $self->decoding_error
$self->id // '', $self->biblionumber // '', $self->format // '', $self->schema // '',
$self->decoding_error // ''
);
}
}