You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2003/05/09 15:48:52 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSDAttributeTraverser.java XSDComplexTypeTraverser.java XSDElementTraverser.java

sandygao    2003/05/09 06:48:51

  Modified:    java/src/org/apache/xerces/impl/xs/traversers
                        XSDAttributeTraverser.java
                        XSDComplexTypeTraverser.java
                        XSDElementTraverser.java
  Log:
  Fixing potential NPEs:
  1. Sometimes a complex type has "simple" content, but its simple type is null;
  2. Sometimes a complex type has a null base type (in error situation);
  3. Sometimes an element has a null name (in error situation);
  4. Sometimes an attribute has a null name (in error situation).
  
  Revision  Changes    Path
  1.23      +5 -1      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java
  
  Index: XSDAttributeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XSDAttributeTraverser.java	8 May 2003 20:11:57 -0000	1.22
  +++ XSDAttributeTraverser.java	9 May 2003 13:48:50 -0000	1.23
  @@ -404,6 +404,10 @@
               reportSchemaError("no-xsi", new Object[]{SchemaSymbols.URI_XSI}, attrDecl);
           }
   
  +        // Attribute without a name. Return null.
  +        if (attribute.getName() == null)
  +            return null;
  +
           return attribute;
       }
   
  
  
  
  1.34      +3 -1      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
  
  Index: XSDComplexTypeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- XSDComplexTypeTraverser.java	17 Feb 2003 16:37:50 -0000	1.33
  +++ XSDComplexTypeTraverser.java	9 May 2003 13:48:50 -0000	1.34
  @@ -742,6 +742,7 @@
               // Create the particle
               if (fParticle == null) {
                   fContentType = baseType.getContentType();
  +                fXSSimpleType = (XSSimpleType)baseType.getSimpleType();
                   fParticle = baseContent;
               }
               else if (baseType.getContentType() == XSComplexTypeDecl.CONTENTTYPE_EMPTY) {
  @@ -1018,6 +1019,7 @@
           //  Mock up the typeInfo structure so that there won't be problems during
           //  validation
           //
  +        fBaseType = SchemaGrammar.fAnyType;
           fContentType = XSComplexTypeDecl.CONTENTTYPE_MIXED;
           fParticle = getErrorContent();
           // REVISIT: do we need to remove all attribute uses already added into
  
  
  
  1.23      +5 -1      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java
  
  Index: XSDElementTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XSDElementTraverser.java	11 Feb 2003 19:16:25 -0000	1.22
  +++ XSDElementTraverser.java	9 May 2003 13:48:50 -0000	1.23
  @@ -482,6 +482,10 @@
               }
           }
   
  +        // Element without a name. Return null.
  +        if (element.fName == null)
  +            return null;
  +
           return element;
       }
   
  
  
  

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