[jira] [Updated] (XERCESJ-1567) ArrayIndexOutOfBoundsException in XSConstraints

2018-04-16 Thread Mukul Gandhi (JIRA)

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

Mukul Gandhi updated XERCESJ-1567:
--
Fix Version/s: 2.12.0

> ArrayIndexOutOfBoundsException in XSConstraints
> ---
>
> Key: XERCESJ-1567
> URL: https://issues.apache.org/jira/browse/XERCESJ-1567
> Project: Xerces2-J
>  Issue Type: Bug
>  Components: XML Schema 1.0 Structures, XML Schema 1.1 Structures
>Affects Versions: 2.11.0
>Reporter: Radu Coravu
>Assignee: Michael Glavassevich
>Priority: Major
> Fix For: 2.12.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> I'm integrating "Xerces-J 2.11.0-xml-schema-1.1-beta" in Oxygen XML Editor.
> After the integration one of our automated tests caught this 
> ArrayIndexOutOfBoundsException:
> 
> java.lang.ArrayIndexOutOfBoundsException: 2
>   at 
> org.apache.xerces.impl.xs.XSConstraints.overlapUPA(XSConstraints.java:610)
>   at 
> org.apache.xerces.impl.xs.XSConstraints.overlapUPA(XSConstraints.java:639)
>   at 
> org.apache.xerces.impl.xs.models.XSAllCM.checkUniqueParticleAttribution(Unknown
>  Source)
>   at 
> org.apache.xerces.impl.xs.XSConstraints.fullSchemaChecking(XSConstraints.java:481)
>   at 
> org.apache.xerces.impl.xs.XMLSchemaValidatorXerces.handleEndElement(XMLSchemaValidatorXerces.java:2568)
>   at 
> org.apache.xerces.impl.xs.XMLSchemaValidatorXerces.endElement(XMLSchemaValidatorXerces.java:922)
>   at 
> com.thaiopensource.validate.xerces.ValidatorImpl.endElement(ValidatorImpl.java:186)
>   at 
> com.thaiopensource.validate.nvdl.ValidatorImpl.endElement(ValidatorImpl.java:719)
>   at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
> Source)
> --
> the code where this happens is like:
> 
> // or if the 2 substitution groups overlap.
> for (int i = subGroup1.length-1; i >= 0; i--) {
> for (int j = subGroup2.length-1; j >= 0; j--) {
> if (subGroup1[i].fName == subGroup2[i].fName &&
> subGroup1[i].fTargetNamespace == 
> subGroup2[i].fTargetNamespace) {
> return true;
> }
> }
> }
> --
> So there are two "for" loops but the index in the first loop is used in both 
> array entries which are compared.
> The code should probably use the "j" index in the second array like:
> --
> // or if the 2 substitution groups overlap.
> for (int i = subGroup1.length-1; i >= 0; i--) {
> for (int j = subGroup2.length-1; j >= 0; j--) {
>   //OXYGEN PATCH, correctly use index when comparing
> if (subGroup1[i].fName == subGroup2[j].fName &&
> subGroup1[i].fTargetNamespace == 
> subGroup2[j].fTargetNamespace) {
> return true;
> }
> }
> }
> -
> Unfortunately I do not have a simple test for this, we had an automated test 
> which validated an XML document against the OOXML XML Schemas available in an 
> Oxygen installation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (XERCESJ-1567) ArrayIndexOutOfBoundsException in XSConstraints

2012-07-06 Thread Michael Glavassevich (JIRA)

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

Michael Glavassevich updated XERCESJ-1567:
--

Component/s: XML Schema 1.1 Structures
 XML Schema 1.0 Structures

> ArrayIndexOutOfBoundsException in XSConstraints
> ---
>
> Key: XERCESJ-1567
> URL: https://issues.apache.org/jira/browse/XERCESJ-1567
> Project: Xerces2-J
>  Issue Type: Bug
>  Components: XML Schema 1.0 Structures, XML Schema 1.1 Structures
>Affects Versions: 2.11.0
>Reporter: Radu Coravu
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> I'm integrating "Xerces-J 2.11.0-xml-schema-1.1-beta" in Oxygen XML Editor.
> After the integration one of our automated tests caught this 
> ArrayIndexOutOfBoundsException:
> 
> java.lang.ArrayIndexOutOfBoundsException: 2
>   at 
> org.apache.xerces.impl.xs.XSConstraints.overlapUPA(XSConstraints.java:610)
>   at 
> org.apache.xerces.impl.xs.XSConstraints.overlapUPA(XSConstraints.java:639)
>   at 
> org.apache.xerces.impl.xs.models.XSAllCM.checkUniqueParticleAttribution(Unknown
>  Source)
>   at 
> org.apache.xerces.impl.xs.XSConstraints.fullSchemaChecking(XSConstraints.java:481)
>   at 
> org.apache.xerces.impl.xs.XMLSchemaValidatorXerces.handleEndElement(XMLSchemaValidatorXerces.java:2568)
>   at 
> org.apache.xerces.impl.xs.XMLSchemaValidatorXerces.endElement(XMLSchemaValidatorXerces.java:922)
>   at 
> com.thaiopensource.validate.xerces.ValidatorImpl.endElement(ValidatorImpl.java:186)
>   at 
> com.thaiopensource.validate.nvdl.ValidatorImpl.endElement(ValidatorImpl.java:719)
>   at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
> Source)
> --
> the code where this happens is like:
> 
> // or if the 2 substitution groups overlap.
> for (int i = subGroup1.length-1; i >= 0; i--) {
> for (int j = subGroup2.length-1; j >= 0; j--) {
> if (subGroup1[i].fName == subGroup2[i].fName &&
> subGroup1[i].fTargetNamespace == 
> subGroup2[i].fTargetNamespace) {
> return true;
> }
> }
> }
> --
> So there are two "for" loops but the index in the first loop is used in both 
> array entries which are compared.
> The code should probably use the "j" index in the second array like:
> --
> // or if the 2 substitution groups overlap.
> for (int i = subGroup1.length-1; i >= 0; i--) {
> for (int j = subGroup2.length-1; j >= 0; j--) {
>   //OXYGEN PATCH, correctly use index when comparing
> if (subGroup1[i].fName == subGroup2[j].fName &&
> subGroup1[i].fTargetNamespace == 
> subGroup2[j].fTargetNamespace) {
> return true;
> }
> }
> }
> -
> Unfortunately I do not have a simple test for this, we had an automated test 
> which validated an XML document against the OOXML XML Schemas available in an 
> Oxygen installation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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