Bug 177282 - xmlNode member 'line' is 16-bit integer, many XML files are longer than 65535 lines
Summary: xmlNode member 'line' is 16-bit integer, many XML files are longer than 65535...
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: libxml2
Version: 4.0
Hardware: All
OS: Linux
Target Milestone: ---
: ---
Assignee: Daniel Veillard
QA Contact:
URL: http://bugzilla.gnome.org/show_bug.cg...
Depends On:
TreeView+ depends on / blocked
Reported: 2006-01-08 21:35 UTC by starlight
Modified: 2007-11-30 22:07 UTC (History)
0 users

Clone Of:
Last Closed: 2006-01-09 09:10:16 UTC

Attachments (Terms of Use)
BI safe change 'line' member of 'xmlNode' from 16-bit to 32-bit integer (2.93 KB, patch)
2006-01-08 21:35 UTC, starlight
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Bugzilla 325533 None None None Never

Description starlight 2006-01-08 21:35:18 UTC
The 'line' member of 'xmlNode' is 16-bits long and useless
for generating error message for large XML files.

The author of 'libxml2' has been unhelpful, so I wrote a short
ABI safe patch that resolves the problem.  I'm posting this
report to save others aggravation.

See the GNOME bug report for discussion and details.


RH libxml2-2.6.16-6
GNOME libxml2-2.6.22

'libxml2' compiled with the patch will work for both 
applications compiled and linked against the regular 
'libxml2.so' and programs compiled and linked with the patched 
'libxml2'.  However patch-version applications will see garbage 
line numbers if run against the standard 'libxml2'.  This can
be prevented with a minor-version 'soname' tweak and/or
library version dependency (I'm fuzzy on the details
of the latter, never having done it myself), but I've got
no time to fiddle with this.

Comment 1 starlight 2006-01-08 21:35:18 UTC
Created attachment 122932 [details]
BI safe change 'line' member of 'xmlNode' from 16-bit to 32-bit integer

Comment 2 Daniel Veillard 2006-01-09 09:10:16 UTC
As already posted on the GNOME bugzilla, those kind of changes are a trade-off.
The RHEL version won't diverge from upsteam, this should be discussed there.
Large instance are streamed anyway, not processed with a DOM, this patch 
just makes the DOM based processing harder by inflating the in-memory size,
while for streaming processing getting the line number should be doable without
breaking inflating the size of DOM trees.


Note You need to log in before you can comment on or make changes to this bug.