
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
| |
Size |
|
patch488.txt |
2005-08-04 05:26 AM |
Daniel John Debrunner |
0.6 kB |
|
|
| Resolution Date: |
30/Sep/05 02:27 AM
|
|
Analysis shows that
----------------------------------------------------------------------
The problem is occurring starting at offset 2007 in method e23. There is an invokeinterface to method setWidth(int, int, boolean) of class VariableSizeDataValue. This invoke returns a value of class DataValueDescriptor. That value is in turn stored in field e142 at offset 2015 in method e23. The problem is that field e142 is a NumberDataValue, and DataValueDescriptor is not a valid subclass of NumberDataValue. Thus the store is not allowed.
----------------------------------------------------------------------
Looking at the generated setWidth() calls I see one in BinaryOperatorNode where the return (DataValueDescriptor) is not cast to the type of the field it is stored in.
|
|
Description
|
Analysis shows that
----------------------------------------------------------------------
The problem is occurring starting at offset 2007 in method e23. There is an invokeinterface to method setWidth(int, int, boolean) of class VariableSizeDataValue. This invoke returns a value of class DataValueDescriptor. That value is in turn stored in field e142 at offset 2015 in method e23. The problem is that field e142 is a NumberDataValue, and DataValueDescriptor is not a valid subclass of NumberDataValue. Thus the store is not allowed.
----------------------------------------------------------------------
Looking at the generated setWidth() calls I see one in BinaryOperatorNode where the return (DataValueDescriptor) is not cast to the type of the field it is stored in.
|
Show » |
|
Also meant to add that it's unclear why other verifiers on other platforms don't catch this.