Skip to content

Commit b9e647c

Browse files
committed
[Core] Fixes an issue where performing a second query on the results of method.invokes could miss some entries
1 parent 0757083 commit b9e647c

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

Core/dexkit/dexkit.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,8 @@ DexKit::GetCallMethods(int64_t encode_method_id) {
757757

758758
std::unique_ptr<flatbuffers::FlatBufferBuilder>
759759
DexKit::GetInvokeMethods(int64_t encode_method_id) {
760+
InitDexCache(kCallerMethod | kMethodInvoking);
761+
760762
auto dex_id = encode_method_id >> 32;
761763
auto method_id = encode_method_id & UINT32_MAX;
762764
auto result = dex_items[dex_id]->GetInvokeMethods(method_id);
@@ -782,7 +784,7 @@ DexKit::GetUsingStrings(int64_t encode_method_id) {
782784

783785
std::unique_ptr<flatbuffers::FlatBufferBuilder>
784786
DexKit::GetUsingFields(int64_t encode_method_id) {
785-
InitDexCache(kMethodUsingField);
787+
InitDexCache(kRwFieldMethod | kMethodUsingField);
786788

787789
auto dex_id = encode_method_id >> 32;
788790
auto method_id = encode_method_id & UINT32_MAX;

0 commit comments

Comments
 (0)