You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Scott Cantor (JIRA)" <xe...@xml.apache.org> on 2017/06/22 16:01:00 UTC

[jira] [Commented] (XERCESC-1800) Xerces-C++ is not 64-bit safe

    [ https://issues.apache.org/jira/browse/XERCESC-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16059579#comment-16059579 ] 

Scott Cantor commented on XERCESC-1800:
---------------------------------------

If there's any low hanging fruit on this one worth looking at, I can probably carve out a bit of time, but anything requiring deep knowledge of the code's probably out.

> Xerces-C++ is not 64-bit safe
> -----------------------------
>
>                 Key: XERCESC-1800
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1800
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 3.1.0
>            Reporter: Boris Kolpackov
>            Priority: Critical
>             Fix For: 3.2.0, 4.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 was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org