[
https://issues.apache.org/jira/browse/XERCESC-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594760#action_12594760
]
James Berry commented on XERCESC-1800:
--------------------------------------
I won't take a position yet on whether we should or shouldn't fix this, but
point out that:
- This doesn't look to actually be a situation of 64-bit safeness. More in
terms of maximum capacity. In other words, we don't break on 64 bit systems,
it's just that, for instance, we don't allow a string to be larger in length
than 2^32, which probably isn't a problem for 99.99999% of users.
> DOM API is not 64-bit safe
> --------------------------
>
> Key: XERCESC-1800
> URL: https://issues.apache.org/jira/browse/XERCESC-1800
> Project: Xerces-C++
> Issue Type: Bug
> Components: DOM
> Affects Versions: 3.0.0
> Reporter: Boris Kolpackov
> Priority: Blocker
> Fix For: 3.0.0
>
>
> There are a number of places in DOM where unsigned int and unsigned long are
> used for indexes and sizes. These should be changed to XMLSize_t. Here is the
> grep result:
> DOMDocument.hpp: const
> unsigned long lineNum,
> DOMDocument.hpp: const
> unsigned long columnNum) = 0;
> DOMDocumentTraversal.hpp:
> unsigned long whatToShow,
> DOMDocumentTraversal.hpp:
> unsigned long whatToShow,
> DOMLocator.hpp: virtual unsigned long getLineNumber() const = 0;
> DOMLocator.hpp: virtual unsigned long getColumnNumber() const = 0;
> DOMLSParserFilter.hpp: virtual unsigned long getWhatToShow() const = 0;
> DOMLSSerializerFilter.hpp: virtual unsigned long getWhatToShow() const =0;
> DOMLSSerializerFilter.hpp: // unsigned long fWhatToShow;
> DOMNodeIterator.hpp: virtual unsigned long getWhatToShow() = 0;
> DOMTreeWalker.hpp: virtual unsigned long getWhatToShow()= 0;
> DOMTypeInfo.hpp: virtual bool isDerivedFrom(const XMLCh* typeNamespaceArg,
> const XMLCh* typeNameArg, unsigned long derivationMethod) const = 0;
> DOMXPathResult.hpp: virtual unsigned long getSnapshotLength() const = 0;
> DOMXPathResult.hpp: * @param index of type unsigned long - Index into the
> snapshot collection.
> DOMXPathResult.hpp: virtual const DOMNode* snapshotItem(unsigned long
> index) const = 0;
> DOMImplementationList.hpp: virtual DOMImplementation *item(unsigned int
> index) const = 0;
> DOMImplementationList.hpp: virtual unsigned int getLength() const = 0;
> DOMLSParser.hpp: virtual const XMLCh* getURIText(unsigned int uriId) const
> = 0;
> DOMNamedNodeMap.hpp: virtual DOMNode *item(unsigned int index) const =
> 0;
> DOMNamedNodeMap.hpp: virtual unsigned int getLength() const = 0;
> DOMNodeList.hpp: virtual DOMNode *item(unsigned int index) const = 0;
> DOMNodeList.hpp: virtual unsigned int getLength() const = 0;
> DOMStringList.hpp: virtual const XMLCh *item(unsigned int index) const = 0;
> DOMStringList.hpp: virtual unsigned int getLength() const = 0;
> Ideally, we should do such an audit of the entire codebase.
--
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]