OSDN Git Service

DexDump: Leak in FieldMethodInfo.signature
authorYou Kim <you.kim72@gmail.com>
Tue, 25 Dec 2012 14:51:01 +0000 (23:51 +0900)
committerYou Kim <you.kim72@gmail.com>
Tue, 25 Dec 2012 14:51:01 +0000 (23:51 +0900)
Free pMethInfo->signature when filled by getMethodInfo.

Change-Id: Id278d732374daceb7b8b05be7f433af25eee0c27

dexdump/DexDump.cpp

index 6ecf671..0d7b425 100644 (file)
@@ -787,6 +787,7 @@ static char* indexString(DexFile* pDexFile,
                 outSize = snprintf(buf, bufSize, "%s.%s:%s // method@%0*x",
                         methInfo.classDescriptor, methInfo.name,
                         methInfo.signature, width, index);
+                free((void *) methInfo.signature);
             } else {
                 outSize = snprintf(buf, bufSize, "<method?> // method@%0*x",
                         width, index);
@@ -1069,6 +1070,7 @@ void dumpBytecodes(DexFile* pDexFile, const DexMethod* pDexMethod)
     printf("%06x:                                        |[%06x] %s.%s:%s\n",
         startAddr, startAddr,
         className, methInfo.name, methInfo.signature);
+    free((void *) methInfo.signature);
 
     insnIdx = 0;
     while (insnIdx < (int) pCode->insnsSize) {