MantisBT - LibDOM | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0002890 | LibDOM | [All Projects] General | public | 2025-01-14 13:56 | 2025-03-01 18:10 |
| Reporter | Michael Orlitzky | ||||
|---|---|---|---|---|---|
| Assigned To | John-Mark Bell | ||||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Platform | OS | OS Version | |||
| Fixed in CI build # | |||||
| Reported in CI build # | |||||
| Summary | 0002890: libdom crashes when built with libxml2-2.13.x | ||||
| Description | Apparently libdom is relying on some internal details of libxml2 during parsing (bindings/xml/libxml_xmlparser.c). The first indication of this is that the libdom test suite fails after upgrading to libxml2-2.13.5. Upon closer inspection, libdom is segfaulting because there's a NULL where it isn't expecting one (missing parent). In short, the problem is with the assumption that this will retrieve the parent element: xmlNodePtr parent = parser->xml_ctx->node; In libxml2-2.13.x, XML entities are parsed into a dummy element, and we are retrieving that dummy element with the code above. In earlier versions of libxml2, the same entities were parsed into a temporary context where xml_ctx->node by coincidence still points to the previous node, so it happened to work. Refs: * https://bugs.gentoo.org/946980 * https://gitlab.gnome.org/GNOME/libxml2/-/issues/837 | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | |||||
| Notes | |||||
|
|
|||||
|
|
||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
|---|---|---|---|---|---|
| 2025-01-14 13:56 | Michael Orlitzky | New Issue | |||
| 2025-03-01 16:28 | John-Mark Bell | Note Added: 0002472 | |||
| 2025-03-01 18:09 | John-Mark Bell | Assigned To | => John-Mark Bell | ||
| 2025-03-01 18:09 | John-Mark Bell | Status | new => closed | ||
| 2025-03-01 18:09 | John-Mark Bell | Resolution | open => fixed | ||
| 2025-03-01 18:10 | John-Mark Bell | Status | closed => resolved | ||