diff options
author | David Mason <davmason@microsoft.com> | 2018-10-11 08:22:02 -0700 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2018-10-11 08:22:02 -0700 |
commit | fe45ba34cd88e9890efbd03f0252cb536fc56a89 (patch) | |
tree | b2594ec69b470ece219f2d57e0e336166f1dc580 /src/vm | |
parent | d089cf88395292e892246a4eb57779db6305792b (diff) | |
download | coreclr-fe45ba34cd88e9890efbd03f0252cb536fc56a89.tar.gz coreclr-fe45ba34cd88e9890efbd03f0252cb536fc56a89.tar.bz2 coreclr-fe45ba34cd88e9890efbd03f0252cb536fc56a89.zip |
fix issue where we wouldn't throw OOM after failing to allocate more space for finalize queue (#20363)
Diffstat (limited to 'src/vm')
-rw-r--r-- | src/vm/comutilnative.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vm/comutilnative.cpp b/src/vm/comutilnative.cpp index d564f9acd8..15bde67f2f 100644 --- a/src/vm/comutilnative.cpp +++ b/src/vm/comutilnative.cpp @@ -1279,7 +1279,10 @@ FCIMPL1(void, GCInterface::ReRegisterForFinalize, Object *obj) if (obj->GetMethodTable()->HasFinalizer()) { HELPER_METHOD_FRAME_BEGIN_1(obj); - GCHeapUtilities::GetGCHeap()->RegisterForFinalization(-1, obj); + if (!GCHeapUtilities::GetGCHeap()->RegisterForFinalization(-1, obj)) + { + ThrowOutOfMemory(); + } HELPER_METHOD_FRAME_END(); } } |