DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=29903>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=29903

LDC_W emits output with only one parameter byte

           Summary: LDC_W emits output with only one parameter byte
           Product: BCEL
           Version: unspecified
          Platform: All
        OS/Version: Other
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Main
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Fixing this took me half a day :-(

See this patch:

Index: LDC_W.java
===================================================================
RCS file: /home/cvspublic/jakarta-bcel/src/java/org/apache/bcel/generic/LDC_W.java,v
retrieving revision 1.4
diff -u -r1.4 LDC_W.java
--- LDC_W.java  23 May 2003 07:55:17 -0000      1.4
+++ LDC_W.java  3 Jul 2004 20:02:10 -0000
@@ -82,7 +82,12 @@
        throws IOException
   {
     setIndex(bytes.readUnsignedShort());
+    /*
+       This is wrong!! (and thus commented out)
+       An LDC_W, which has got opcode LDC because index<256, may not change the
opcode to LDC_W back,
+       because then it would emit an LDC_W opcode with only ONE byte as
parameter, leading to class file corruption.
+    */
     // Override just in case it has been changed
-    opcode = org.apache.bcel.Constants.LDC_W;
+    // opcode = org.apache.bcel.Constants.LDC_W;
   }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to