Skip to content

Commit b7a85f8

Browse files
committed
[mono][loader] Set status on success
Manual backport of dotnet/runtime#80949 to mono/mono Emebedders that call `mono_assembly_load_from_full` may observe a non-NULL return value and an uninitialized MonoImageOpenStatus, which may lead to incorrect diagnostics in code like: ``` MonoImageOpenStatus status; MonoAssembly *assembly = mono_assembly_load_from_full (image, name, status, refonly); if (!assembly || status != MONO_IMAGE_OK) { fprintf(stderr, "Failure due to: %s\n", mono_image_strerror (status)); abort(); } ``` Which will print `Failure due to: Internal error` Addresses dotnet/android#7658
1 parent 7f69cba commit b7a85f8

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

mono/metadata/assembly.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3177,6 +3177,8 @@ mono_assembly_request_load_from (MonoImage *image, const char *fname,
31773177
mono_image_fixup_vtable (image);
31783178
#endif
31793179

3180+
*status = MONO_IMAGE_OK;
3181+
31803182
mono_assembly_invoke_load_hook_internal (req->alc, ass);
31813183

31823184
MONO_PROFILER_RAISE (assembly_loaded, (ass));

0 commit comments

Comments
 (0)