summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorDavid Mason <davmason@microsoft.com>2018-10-11 08:22:02 -0700
committerJan Kotas <jkotas@microsoft.com>2018-10-11 08:22:02 -0700
commitfe45ba34cd88e9890efbd03f0252cb536fc56a89 (patch)
treeb2594ec69b470ece219f2d57e0e336166f1dc580 /src/vm
parentd089cf88395292e892246a4eb57779db6305792b (diff)
downloadcoreclr-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.cpp5
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();
}
}