From 736e9595d2a264fa4730a07dc00e94c12eaf3912 Mon Sep 17 00:00:00 2001 From: hoenicke Date: Wed, 2 May 2001 12:22:11 +0000 Subject: [PATCH] * jode/obfuscator/modules/ConstantAnalyzer.java.in (handleOpcode): Added divide by zero checks for opc_irem and opc_lrem. git-svn-id: https://svn.code.sf.net/p/jode/code/branches/branch_1_1@1313 379699f6-c40d-0410-875b-85095c16579e --- jode/ChangeLog | 5 +++++ jode/jode/obfuscator/modules/ConstantAnalyzer.java.in | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/jode/ChangeLog b/jode/ChangeLog index 08664b9..eda1998 100644 --- a/jode/ChangeLog +++ b/jode/ChangeLog @@ -1,3 +1,8 @@ +2001-05-02 Jochen Hoenicke + + * jode/obfuscator/modules/ConstantAnalyzer.java.in (handleOpcode): + Added divide by zero checks for opc_irem and opc_lrem. + 2001-04-10 Jochen Hoenicke * jode/decompiler/Main.java (usage): Reworked usage message. diff --git a/jode/jode/obfuscator/modules/ConstantAnalyzer.java.in b/jode/jode/obfuscator/modules/ConstantAnalyzer.java.in index f93db63..595d1b3 100644 --- a/jode/jode/obfuscator/modules/ConstantAnalyzer.java.in +++ b/jode/jode/obfuscator/modules/ConstantAnalyzer.java.in @@ -734,9 +734,9 @@ public class ConstantAnalyzer implements Opcodes, CodeAnalyzer { boolean known = value1.value != ConstValue.VOLATILE && value2.value != ConstValue.VOLATILE; if (known) { - if ((opcode == opc_idiv + if (((opcode == opc_idiv || opcode == opc_irem) && ((Integer)value2.value).intValue() == 0) - || (opcode == opc_ldiv + || ((opcode == opc_ldiv || opcode == opc_lrem) && ((Long)value2.value).longValue() == 0)) known = false; }