mirror of
https://github.com/corda/corda.git
synced 2025-01-05 20:54:13 +00:00
fix GC safety bugs in parseMethodTable and makeArrayClass
This commit is contained in:
parent
b645c284b5
commit
d0f8889e27
@ -1540,6 +1540,7 @@ parseMethodTable(Thread* t, Stream& s, object class_, object pool)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (abstractVirtuals) {
|
if (abstractVirtuals) {
|
||||||
|
PROTECT(t, vtable);
|
||||||
PROTECT(t, abstractVirtuals);
|
PROTECT(t, abstractVirtuals);
|
||||||
|
|
||||||
unsigned oldLength = arrayLength(t, classMethodTable(t, class_));
|
unsigned oldLength = arrayLength(t, classMethodTable(t, class_));
|
||||||
@ -1713,6 +1714,7 @@ makeArrayClass(Thread* t, object loader, unsigned dimensions, object spec,
|
|||||||
object
|
object
|
||||||
makeArrayClass(Thread* t, object loader, object spec)
|
makeArrayClass(Thread* t, object loader, object spec)
|
||||||
{
|
{
|
||||||
|
PROTECT(t, loader);
|
||||||
PROTECT(t, spec);
|
PROTECT(t, spec);
|
||||||
|
|
||||||
const char* s = reinterpret_cast<const char*>(&byteArrayBody(t, spec, 0));
|
const char* s = reinterpret_cast<const char*>(&byteArrayBody(t, spec, 0));
|
||||||
|
Loading…
Reference in New Issue
Block a user