[
https://issues.apache.org/jira/browse/XERCESJ-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886756#action_12886756
]
Michael Glavassevich commented on XERCESJ-1457:
-----------------------------------------------
Also note that some of these strings (e.g. the ones in the DTDGrammar) may have
already been interned somewhere else.
> Forgotten calls on intern() for QName fields
> --------------------------------------------
>
> Key: XERCESJ-1457
> URL: https://issues.apache.org/jira/browse/XERCESJ-1457
> Project: Xerces2-J
> Issue Type: Bug
> Components: Other
> Affects Versions: 2.10.0
> Reporter: Stephanie Dietzel
> Attachments: interning-fix.patch
>
> Original Estimate: 0.08h
> Remaining Estimate: 0.08h
>
> In the class Qname.java, the documentation states, "To be used correctly, the
> strings must be identical references for equal strings."
> Here are 26 places where a QName is constructed or modifed with non-interned
> strings.
> This is an efficiency concern, because the non-interned strings may take up
> more memory than interned ones. It is also a correctness concern, because
> Xerces-J performs comparisons against QName fields using ==.
> The attached patch corrects these problems.
> For example, in XIncludeHandler.java,
> new QName(
> XMLSymbols.PREFIX_XMLNS,
> "",
> XMLSymbols.PREFIX_XMLNS + ":",
> NamespaceContext.XMLNS_URI)
> becomes
> new QName(
> XMLSymbols.PREFIX_XMLNS,
> "",
> (XMLSymbols.PREFIX_XMLNS + ":").intern(),
> NamespaceContext.XMLNS_URI)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]