From ff94d8cb808b0d4b9c24eb05e8a1afb7a3b3d76e Mon Sep 17 00:00:00 2001 From: Matthias Meusburger Date: Wed, 18 Dec 2013 11:20:05 +0100 Subject: [PATCH] [PASSED QA] Bug 11412: Bulkmarcimport can crash when searching for duplicates in authorities bulkmarcimport.pl can crash when searching for duplicates if the 005 field from the incoming or local record is not defined. This patch fixes it. Signed-off-by: Chris Cormack Test plan 1/ Create a record with no 005 field 2/ Try to import it checking for duplicates, notice it crashes 3/ Try with a record with a 005 field, but the one in Koha missing one, still crashes 4/ Apply patch 5/ No more crash Signed-off-by: Katrin Fischer Passes all tests and QA script. Patch fixes the problem described for importing authorities with the bulkmarcimport.pl when trying to match with existing records. --- misc/migration_tools/bulkmarcimport.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/misc/migration_tools/bulkmarcimport.pl b/misc/migration_tools/bulkmarcimport.pl index 9ca7b31..545e818 100755 --- a/misc/migration_tools/bulkmarcimport.pl +++ b/misc/migration_tools/bulkmarcimport.pl @@ -245,7 +245,9 @@ RECORD: while ( ) { $id = GetRecordId( $marcrecord, $tagid, $subfieldid ); if ( $authorities && $marcFlavour ) { #Skip if authority in database is the same as the on in database - if ( $marcrecord->field('005')->data >= $record->field('005')->data ) { + if ( $marcrecord->field('005') && $record->field('005') && + $marcrecord->field('005')->data && $record->field('005')->data && + $marcrecord->field('005')->data >= $record->field('005')->data ) { if ($yamlfile) { $yamlhash->{$originalid}->{'authid'} = $id; -- 1.8.3.2