summaryrefslogtreecommitdiff
path: root/plugins/dex
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dex')
-rw-r--r--plugins/dex/class.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/plugins/dex/class.c b/plugins/dex/class.c
index 9defac7..dafa984 100644
--- a/plugins/dex/class.c
+++ b/plugins/dex/class.c
@@ -636,9 +636,19 @@ GDexMethod *g_dex_class_get_method(const GDexClass *class, bool virtual, size_t
GDexMethod *result; /* Instance à renvoyer */
if (virtual)
- result = class->virtual_methods[index];
+ {
+ if (index < class->vmethods_count)
+ result = class->virtual_methods[index];
+ else
+ result = NULL;
+ }
else
- result = class->direct_methods[index];
+ {
+ if (index < class->dmethods_count)
+ result = class->direct_methods[index];
+ else
+ result = NULL;
+ }
if (result != NULL)
g_object_ref(G_OBJECT(result));