attempting to retrieve an invalid MARC record via Z39.50 can result in unexpected memory consumption
Bug #1358916 reported by
Galen Charlton
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Undecided
|
Unassigned | ||
2.5 |
Fix Released
|
Undecided
|
Unassigned | ||
2.6 |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Z39.50 targets in the wild have been known to return MARC records that are invalid by virtue of their being longer than 99,999 octets. In at least one case, attempting to retrieve such a record has resulted in an open-ils.search drone ballooning to 3G+ of memory usage during a stage where XML::LibXML is trying to parse a MARCXML version of the record.
An example can be found by searching for
@attr 1=4 @attr 4=1 @attr 5=1 "three can play that game"
at the target z3950.fcla.edu/RF. As of the date of filing this bug, the second hit in the result set triggers the memory ballooning.
Evergreen master
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
A patch is available in the user/gmcharlt/ lp1358916_ dont_fetch_ overlarge_ records_ via_z3950 branch of the working/Evergreen repository:
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ gmcharlt/ lp1358916_ dont_fetch_ overlarge_ records_ via_z3950