Skip to content

Commit

Permalink
[reflection] Better error behavior for API functions
Browse files Browse the repository at this point in the history
mono_assembly_get_object and mono_module_file_get_object should return
NULL on failure without raising an exception.
  • Loading branch information
lambdageek committed Feb 11, 2016
1 parent fbae9f9 commit f03e7a8
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions mono/metadata/reflection.c
Expand Up @@ -6661,12 +6661,11 @@ mono_assembly_get_object (MonoDomain *domain, MonoAssembly *assembly)
MonoError error;
MonoReflectionAssembly *result;
result = mono_assembly_get_object_checked (domain, assembly, &error);
if (!result)
mono_error_set_pending_exception (&error);
mono_error_cleanup (&error); /* FIXME new API that doesn't swallow the error */
return result;
}
/*
* mono_assembly_get_object:
* mono_assembly_get_object_checked:
* @domain: an app domain
* @assembly: an assembly
*
Expand Down Expand Up @@ -6764,7 +6763,7 @@ mono_module_file_get_object (MonoDomain *domain, MonoImage *image, int table_ind
MonoError error;
MonoReflectionModule *result;
result = mono_module_file_get_object_checked (domain, image, table_index, &error);
mono_error_raise_exception (&error);
mono_error_cleanup (&error); /* FIXME new API that doesn't swallow the error */
return result;
}

Expand Down

0 comments on commit f03e7a8

Please sign in to comment.