From 3506e82033db39fd479bce106a12b2dc09e6c71d Mon Sep 17 00:00:00 2001 From: hoenicke Date: Fri, 19 Jan 2001 08:50:53 +0000 Subject: [PATCH] Ported a fix (this class could throw an ArrayIndexOutOfBoundsException due, to missing checks if invoke has parameters) back to the 1.1 branch. Bug reported by Rolf Howarth . git-svn-id: https://svn.code.sf.net/p/jode/code/branches/branch_1_1@1284 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/flow/CreateClassField.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jode/jode/flow/CreateClassField.java b/jode/jode/flow/CreateClassField.java index afaa91e..0724b00 100644 --- a/jode/jode/flow/CreateClassField.java +++ b/jode/jode/flow/CreateClassField.java @@ -63,10 +63,12 @@ public class CreateClassField { return false; InvokeOperator invoke = (InvokeOperator) store.getSubExpressions()[1]; + if (!invoke.isGetClass()) + return false; + Expression param = invoke.getSubExpressions()[0]; - if (invoke.isGetClass() - && param instanceof ConstOperator + if (param instanceof ConstOperator && ((ConstOperator)param).getValue() instanceof String) { String clazz = (String) ((ConstOperator)param).getValue(); if (put.getField().setClassConstant(clazz)) {