Skip to content

Commit 2293449

Browse files
authored
Protect throwable around interpreted funclet call (#120377)
The InterpreterCodeManager::CallFunclet was not protecting the exceptionClauseArgs.throwable across the call to the interpreter. That lead to assert in some cases. This change fixes it.
1 parent 7566217 commit 2293449

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/coreclr/vm/eetwain.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2186,7 +2186,9 @@ DWORD_PTR InterpreterCodeManager::CallFunclet(OBJECTREF throwable, void* pHandle
21862186
exceptionClauseArgs.isFilter = isFilter;
21872187
exceptionClauseArgs.throwable = throwable;
21882188

2189+
GCPROTECT_BEGIN(exceptionClauseArgs.throwable);
21892190
InterpExecMethod(&frames.interpreterFrame, &frames.interpMethodContextFrame, threadContext, &exceptionClauseArgs);
2191+
GCPROTECT_END();
21902192

21912193
frames.interpreterFrame.Pop();
21922194

0 commit comments

Comments
 (0)