From 6d11e9062dfaa27c7fa8719d9d9b4f58b0d5cfa0 Mon Sep 17 00:00:00 2001 From: "JesusFreke@JesusFreke.com" Date: Wed, 27 Jan 2010 07:09:38 +0000 Subject: [PATCH] Fix the register check for the source register in handleIputObject, and add misc TODO git-svn-id: https://smali.googlecode.com/svn/trunk@606 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- .../main/java/org/jf/dexlib/Code/Analysis/MethodAnalyzer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/MethodAnalyzer.java b/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/MethodAnalyzer.java index 2b8d0ad4..cede1916 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/MethodAnalyzer.java +++ b/dexlib/src/main/java/org/jf/dexlib/Code/Analysis/MethodAnalyzer.java @@ -1717,6 +1717,7 @@ public class MethodAnalyzer { if (sourceRegisterType.category == RegisterType.Category.Unknown) { return false; } + //TODO: ensure sourceRegisterType is a Reference type? RegisterType arrayRegisterType = analyzedInstruction.getPreInstructionRegisterType(instruction.getRegisterB()); assert arrayRegisterType != null; @@ -1972,7 +1973,7 @@ public class MethodAnalyzer { if (sourceRegisterType.category == RegisterType.Category.Unknown) { return false; } - checkRegister(objectRegisterType, ReferenceCategories); + checkRegister(sourceRegisterType, ReferenceCategories); //TODO: check access //TODO: allow an uninitialized "this" reference, if the current method is an method