Vtable [i] can be null so this should be check before use it. (mono/mono#16733)
authorThays Grazia <thaystg@gmail.com>
Mon, 9 Sep 2019 20:07:34 +0000 (17:07 -0300)
committerGitHub <noreply@github.com>
Mon, 9 Sep 2019 20:07:34 +0000 (17:07 -0300)
Fixes mono/mono#16712

Commit migrated from https://github.com/mono/mono/commit/055818f3449b5176dcf0e4eb07491b2501112701

src/mono/mono/metadata/class-init.c

index ce4dabc..542be7c 100644 (file)
@@ -3333,7 +3333,7 @@ mono_class_setup_vtable_general (MonoClass *klass, MonoMethod **overrides, int o
        if (!mono_class_is_abstract (klass)) {
                for (i = 0; i < cur_slot; ++i) {
                        if (vtable [i] == NULL || (vtable [i]->flags & (METHOD_ATTRIBUTE_ABSTRACT | METHOD_ATTRIBUTE_STATIC))) {
-                               if (vtable [i]->is_reabstracted == 1)
+                               if (vtable [i] != NULL && vtable [i]->is_reabstracted == 1)
                                        continue;
                                char *type_name = mono_type_get_full_name (klass);
                                char *method_name = vtable [i] ? mono_method_full_name (vtable [i], TRUE) : g_strdup ("none");