Bug 11412: fix potential bulkmarcimport crash when searching for duplicates in author...
authorMatthias Meusburger <matthias.meusburger@biblibre.com>
Wed, 18 Dec 2013 10:20:05 +0000 (11:20 +0100)
committerGalen Charlton <gmc@esilibrary.com>
Thu, 26 Dec 2013 15:52:02 +0000 (15:52 +0000)
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 <chrisc@catalyst.net.nz>

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 <Katrin.Fischer.83@web.de>
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.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>

misc/migration_tools/bulkmarcimport.pl

index 9ca7b31..545e818 100755 (executable)
@@ -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;