[
https://issues.apache.org/jira/browse/XERCESJ-1080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527925
]
Michael Glavassevich commented on XERCESJ-1080:
-----------------------------------------------
Kurt, if you take a look at
org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseLocal()
you'll see that the value of fConstraintType is determined by the values of the
default/fixed value, so fDefault == null implies fConstraintType ==
XSConstants.VC_NONE. There's no need for the additional check.
> XSAttributeUseImpl.getConstraintValue() might cause NPE
> -------------------------------------------------------
>
> Key: XERCESJ-1080
> URL: https://issues.apache.org/jira/browse/XERCESJ-1080
> Project: Xerces2-J
> Issue Type: Bug
> Affects Versions: 2.6.2
> Environment: Xerces2-J CVS HEAD (May 12, 2005)
> Reporter: Kurt Riede
> Assignee: Michael Glavassevich
> Priority: Minor
> Fix For: 2.9.1
>
> Attachments: attP006.xsd
>
>
> In case of error "a-props-correct.2" (Invalid value constraint value '%1' in
> attribute '%2'.), attribute fDefault or fDefault.actualValue might be null
> and the code might result in a NPE.
> How to reproduce: Example from xml schema test suite:
> msxsdtest\attribute\attP006.xsd
> In my case, when anlysing invalid schema files (as good as possible), it is
> important not to have this exception, so I'm working with my own patched
> version of Xerces2-J. It would be nice if you would fix this somewhen.
> My fix is quite simple: just check on null:
> Old:
> return getConstraintType() == XSConstants.VC_NONE ?
> null :
> fDefault.actualValue.toString();
> New:
> return getConstraintType() == XSConstants.VC_NONE ? null :
> (fDefault == null ? null :
> (fDefault.actualValue == null ? null :
> (fDefault.actualValue.toString())));
--
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]