diff options
Diffstat (limited to 'plugins/readdex')
| -rw-r--r-- | plugins/readdex/class.c | 20 | 
1 files changed, 12 insertions, 8 deletions
| diff --git a/plugins/readdex/class.c b/plugins/readdex/class.c index ccfdf9d..d3ca197 100644 --- a/plugins/readdex/class.c +++ b/plugins/readdex/class.c @@ -311,17 +311,21 @@ static bool annotate_dex_class_data(const GDexFormat *format, const GDexClass *c      data = g_dex_class_get_data(class); -    for (i = 0; i < data->static_fields_size && result; i++) -        result = annotate_dex_encoded_field(format, &pos); +    if (data != NULL) +    { +        for (i = 0; i < data->static_fields_size && result; i++) +            result = annotate_dex_encoded_field(format, &pos); + +        for (i = 0; i < data->instance_fields_size && result; i++) +            result = annotate_dex_encoded_field(format, &pos); -    for (i = 0; i < data->instance_fields_size && result; i++) -        result = annotate_dex_encoded_field(format, &pos); +        for (i = 0; i < data->direct_methods_size && result; i++) +            result = annotate_dex_encoded_method(format, &data->direct_methods[i], &pos); -    for (i = 0; i < data->direct_methods_size && result; i++) -        result = annotate_dex_encoded_method(format, &data->direct_methods[i], &pos); +        for (i = 0; i < data->virtual_methods_size && result; i++) +            result = annotate_dex_encoded_method(format, &data->virtual_methods[i], &pos); -    for (i = 0; i < data->virtual_methods_size && result; i++) -        result = annotate_dex_encoded_method(format, &data->virtual_methods[i], &pos); +    }      /* Nettoyage final */ | 
