Skip to content

Commit 9f75120

Browse files
authored
[mono] Don't leak coop handles, fix type in managed ALC struct (#41159)
* Don't leak coop handle * Fix type in MonoManagedAssemblyLoadContext
1 parent 73e8efb commit 9f75120

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/mono/mono/metadata/assembly-load-context.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,10 @@ mono_alc_is_default (MonoAssemblyLoadContext *alc)
176176
MonoAssemblyLoadContext *
177177
mono_alc_from_gchandle (MonoGCHandle alc_gchandle)
178178
{
179+
HANDLE_FUNCTION_ENTER ();
179180
MonoManagedAssemblyLoadContextHandle managed_alc = MONO_HANDLE_CAST (MonoManagedAssemblyLoadContext, mono_gchandle_get_target_handle (alc_gchandle));
180-
MonoAssemblyLoadContext *alc = (MonoAssemblyLoadContext *)MONO_HANDLE_GETVAL (managed_alc, native_assembly_load_context);
181-
return alc;
181+
MonoAssemblyLoadContext *alc = MONO_HANDLE_GETVAL (managed_alc, native_assembly_load_context);
182+
HANDLE_FUNCTION_RETURN_VAL (alc);
182183
}
183184

184185
MonoGCHandle

src/mono/mono/metadata/object-internals.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1663,7 +1663,7 @@ typedef struct {
16631663
MonoEvent *resolving;
16641664
MonoEvent *unloading;
16651665
MonoString *name;
1666-
gpointer *native_assembly_load_context;
1666+
MonoAssemblyLoadContext *native_assembly_load_context;
16671667
gint64 id;
16681668
gint32 internal_state;
16691669
MonoBoolean is_collectible;

0 commit comments

Comments
 (0)