[Soot-list] Local variable not definitely defined

Zeinab Lashkaripour lashkaripour at yahoo.com
Thu Jun 27 14:08:26 EDT 2013


Hi everyone,

I have the jimple code given below:


tmpStringBuilder = new java.lang.StringBuilder
specialinvoke tmpStringBuilder.<java.lang.StringBuilder: void <init>()>()
tmpStringBuilder = virtualinvoke tmpStringBuilder.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("....")
tmpStringBuilder = virtualinvoke tmpStringBuilder.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(strValue ))
dyn = virtualinvoke tmpStringBuilder.<java.lang.StringBuilder: java.lang.String toString()>()
tmpBoolean = staticinvoke <.......>(dyn, info)
if tmpBoolean == 0 goto temp$20 = new java.lang.StringBuffer
strValue = virtualinvoke this.<.....>(...)
temp$20 = new java.lang.StringBuffer
specialinvoke temp$20.<java.lang.StringBuffer: void <init>()>()
virtualinvoke temp$20.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>("...")
virtualinvoke temp$20.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(strValue)
virtualinvoke temp$20.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>("..")
virtualinvoke temp$20.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(".....")
temp$21 = virtualinvoke temp$20.<java.lang.StringBuffer: java.lang.String toString()>()

that gives:

Exception in thread "main" java.lang.RuntimeException: Warning: Local variable strValue not definitely defined at virtualinvoke temp$20.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(strValue) in <....>
    at soot.Body.checkInit(Body.java:712)
    at soot.Body.validate(Body.java:235)
    at soot.jimple.JimpleBody.validate(JimpleBody.java:66)
    at soot.PackManager.runBodyPacks(PackManager.java:828)
    at soot.PackManager.runBodyPacks(PackManager.java:510)
    at soot.PackManager.runBodyPacks(PackManager.java:417)
    at soot.PackManager.runPacksNormally(PackManager.java:394)
    at soot.PackManager.runPacks(PackManager.java:335)
    at soot.Main.run(Main.java:198)
    at soot.Main.main(Main.java:141)
    at MyMain.main(MyMain.java:66)

I even added strValue = "" to my jimple code but I still get the exception.
Could anyone give me a hint?

Regards,
Zeinab
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130627/cd207b55/attachment.html 


More information about the Soot-list mailing list