Author: markt
Date: Fri Sep 12 12:48:21 2014
New Revision: 1624527

URL: http://svn.apache.org/r1624527
Log:
Merge more simplification from trunk

Removed:
    
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Synthetic.java
Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/   (props changed)
    
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Attribute.java
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1540411-1540413

Propchange: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/
------------------------------------------------------------------------------
  Merged /tomcat/trunk/java/org/apache/tomcat/util/bcel:r1540411-1540413

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Attribute.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Attribute.java?rev=1624527&r1=1624526&r2=1624527&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Attribute.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Attribute.java 
Fri Sep 12 12:48:21 2014
@@ -39,7 +39,6 @@ import org.apache.tomcat.util.bcel.Const
  * @see LineNumberTable
  * @see LocalVariableTable
  * @see InnerClasses
- * @see Synthetic
  * @see Deprecated
  */
 public abstract class Attribute implements Cloneable, Serializable
@@ -118,7 +117,8 @@ public abstract class Attribute implemen
         case Constants.ATTR_INNER_CLASSES:
             return new InnerClasses(name_index, length, file, constant_pool);
         case Constants.ATTR_SYNTHETIC:
-            return new Synthetic(name_index, length, file, constant_pool);
+            Utility.swallowSynthetic(file, length);
+            return null;
         case Constants.ATTR_DEPRECATED:
             return new Deprecated(name_index, length, file, constant_pool);
         case Constants.ATTR_PMG:

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java?rev=1624527&r1=1624526&r2=1624527&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java 
Fri Sep 12 12:48:21 2014
@@ -110,7 +110,7 @@ final class Utility {
     static void swallowStackMapType(DataInput file) throws IOException {
         byte type = file.readByte();
         if ((type < Constants.ITEM_Bogus) || (type > 
Constants.ITEM_NewObject)) {
-            throw new RuntimeException("Illegal type for StackMapType: " + 
type);
+            throw new ClassFormatException("Illegal type for StackMapType: " + 
type);
         }
         // Check to see if type has an index
         if ((type == Constants.ITEM_Object) || (type == 
Constants.ITEM_NewObject)) {
@@ -180,4 +180,12 @@ final class Utility {
     static void swallowSignature(DataInput file) throws IOException {
         file.readUnsignedShort();   // Unused signature_index
     }
+
+    static void swallowSynthetic(DataInput file, int length) throws 
IOException {
+        if (length > 0) {
+            byte[] bytes = new byte[length];
+            file.readFully(bytes);
+            throw new ClassFormatException("Synthetic attribute with length > 
0");
+        }
+    }
 }



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

Reply via email to