Skip to content

Instantly share code, notes, and snippets.

@Tak
Created March 29, 2011 13:17
Show Gist options
  • Save Tak/892331 to your computer and use it in GitHub Desktop.
Save Tak/892331 to your computer and use it in GitHub Desktop.
diff --git a/mono/metadata/class.c b/mono/metadata/class.c
index 21235cb..140611e 100644
--- a/mono/metadata/class.c
+++ b/mono/metadata/class.c
@@ -7700,24 +7700,24 @@ mono_class_get_nested_types (MonoClass* klass, gpointer *iter)
if (!klass->type_token)
klass->nested_classes_inited = TRUE;
mono_loader_lock ();
if (!klass->nested_classes_inited) {
i = mono_metadata_nesting_typedef (klass->image, klass->type_token, 1);
while (i) {
MonoClass* nclass;
guint32 cols [MONO_NESTED_CLASS_SIZE];
mono_metadata_decode_row (&klass->image->tables [MONO_TABLE_NESTEDCLASS], i - 1, cols, MONO_NESTED_CLASS_SIZE);
nclass = mono_class_create_from_typedef (klass->image, MONO_TOKEN_TYPE_DEF | cols [MONO_NESTED_CLASS_NESTED]);
- if (!nclass)
- continue;
- mono_class_alloc_ext (klass);
- klass->ext->nested_classes = g_list_prepend_image (klass->image, klass->ext->nested_classes, nclass);
+ if (nclass) {
+ mono_class_alloc_ext (klass);
+ klass->ext->nested_classes = g_list_prepend_image (klass->image, klass->ext->nested_classes, nclass);
+ }
i = mono_metadata_nesting_typedef (klass->image, klass->type_token, i + 1);
}
}
mono_memory_barrier ();
klass->nested_classes_inited = TRUE;
mono_loader_unlock ();
}
if (!*iter) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment