mirror of
https://github.com/corda/corda.git
synced 2025-03-17 17:45:17 +00:00
fix GC safety bug in resolveObjectArrayClass
The call to getClassRuntimeData may trigger a GC, so we must mark the local variables to be visited.
This commit is contained in:
parent
3e5a7d9a41
commit
e4c1f923b5
@ -3810,6 +3810,9 @@ initClass(Thread* t, object c)
|
||||
object
|
||||
resolveObjectArrayClass(Thread* t, object loader, object elementClass)
|
||||
{
|
||||
PROTECT(t, loader);
|
||||
PROTECT(t, elementClass);
|
||||
|
||||
{ object arrayClass = classRuntimeDataArrayClass
|
||||
(t, getClassRuntimeData(t, elementClass));
|
||||
if (arrayClass) {
|
||||
@ -3817,9 +3820,6 @@ resolveObjectArrayClass(Thread* t, object loader, object elementClass)
|
||||
}
|
||||
}
|
||||
|
||||
PROTECT(t, loader);
|
||||
PROTECT(t, elementClass);
|
||||
|
||||
object elementSpec = className(t, elementClass);
|
||||
PROTECT(t, elementSpec);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user