https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43024

            Bug ID: 43024
           Summary: A couple of lower-traffic paths don't guard against
                    undecodable MARC either
   Initiative type: ---
        Sponsorship ---
            status:
           Product: Koha
           Version: Main
          Hardware: All
                OS: All
            Status: NEW
          Severity: minor
          Priority: P5 - low
         Component: Cataloging
          Assignee: [email protected]
          Reporter: [email protected]
        QA Contact: [email protected]
                CC: [email protected]
        Depends on: 35104
  Target Milestone: ---

Two lower-traffic, isolated spots with the same unguarded-MARC-decode
pattern as bug 35104 and its other follow-ups, found during the same audit
but rated lower priority since they're narrower/rarer code paths:

1. C4::Items::_parse_unlinked_item_subfields_from_xml (C4/Items.pm) calls
   MARC::Record->new_from_xml on an item's more_subfields_xml with no eval.
   This would only be hit if that column's content is itself malformed,
   which would usually already have failed at storage time - but there's no
   guard here if it happens anyway (e.g. data imported directly into the
   DB, or written before item metadata was validated on save).

2. C4::Record::marc2endnote (C4/Record.pm) calls
   MARC::Record->new_from_usmarc with no eval, when exporting a record to
   EndNote format. A record with undecodable stored MARC would fail the
   export with no clear message, though this failure is isolated to the one
   export action and doesn't cascade.

Found while auditing other places in the codebase that ingest/re-decode
MARC data, prompted by bug 35104. Filed for tracking; lower priority than
the other bugs from the same audit given how narrow and rarely-hit these
two paths are.

Test plan:
1. Get an item with undecodable more_subfields_xml (e.g. via direct DB
   manipulation), then trigger whatever code path calls
   _parse_unlinked_item_subfields_from_xml for it.
2. Get a biblio with undecodable stored MARCXML, then export it via
   whatever UI/API path calls marc2endnote.
3. Before a fix: both die with an unhandled exception.
4. After a fix: both fail gracefully with a clear message.


Referenced Bugs:

https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35104
[Bug 35104] We should warn when attempting to save MARC records that contain
characters invalid in XML
-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to