[ 
https://issues.apache.org/jira/browse/XALANC-736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steven J. Hathaway updated XALANC-736:
--------------------------------------

    Attachment: XalanParsedURI.diff
                XalanParsedURI.cpp

URL Parsing Information - Leading to the patch.

Components:
    d_scheme    (...:)    m_scheme
    d_authority (://...)  m_authority
    (path)      (/...)    m_path
    d_query     (?...)    m_query
    d_fragment  (#...)    m_fragment

The Stylesheets are assembled from elements as callbacks from a
Xerces SAX reader and integrated XML parser.  The prepared patch
fixes the issue of URI parsing where components are of zero length.
The issue has been reported only with Microsoft Studio 2010 for
debug builds.  The release builds have no problem assertion.

------

Patches applied to:
  <xalanc/PlatformSupport/XalanParsedURI.cpp>

Microsoft Studio 2010 (VC10) in debug mode has a bad assertion
in the runtime when making XalanDOMString copies and assignments
where the RHS.m_data is null and the length is zero.  If you
ignore the assertion, the method completes properly.  The Microsoft
debug assertion issue may also affect the copy of any C++ class 
instance or structure instance that contains a NULL pointer.
Copies may work without assertion if instead of a NULL pointer,
you have a pointer to a data buffer with empty content.

Modifying the XalanVector as previously proposed could probably
affect other problems in the Xalan codebase.

I have made a patch to <xalanc/PlatformSupport/XalanParsedURI.cpp>
to keep stylesheet <xsl:include ...> and <xsl:import ...> from
doing copies and assignments of zero-length XalanDOMStrings when
parsing URIs.

I did'nt want to re-validate the entire Xalan world where
XalanDOMString class is being used. I also did not want to
re-validate everwhere XalanVector template is used.

Sincerely,
Steven J. Hathaway

                
> Assertion failure in debug mode
> -------------------------------
>
>                 Key: XALANC-736
>                 URL: https://issues.apache.org/jira/browse/XALANC-736
>             Project: XalanC
>          Issue Type: Bug
>    Affects Versions: 1.11
>         Environment: Visual Studio 2010
> Binary package of Xerces 3.1.1
> Binary package of Xalan 1.11.0
>            Reporter: Claudia Baier
>            Assignee: Steven J. Hathaway
>         Attachments: 736.diff, XalanParsedURI.cpp, XalanParsedURI.diff, 
> XercesXalanDemo.zip
>
>
> I have a problem running applications in debug mode. I try to process a xslt 
> file which includes
> another xslt file. In release mode everything works fine. But in debug mode 
> the application
> crashes with the message:
> "Debug Assertion Failed!
> ...
> Expression: invalid null pointer"
> This happens when I call
> theXalanTransformer.transform(*parsedXML, *xslIn, std::cout);

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org
For additional commands, e-mail: dev-h...@xalan.apache.org

Reply via email to