Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0bf37696c4bd041298c11c55b47aeb5b8e461816
https://github.com/WebKit/WebKit/commit/0bf37696c4bd041298c11c55b47aeb5b8e461816
Author: Alexey Shvayka <[email protected]>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M Source/JavaScriptCore/interpreter/Interpreter.cpp
M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
Log Message:
-----------
REGRESSION(273782@main): Missing exception check in commonCallDirectEval()
https://bugs.webkit.org/show_bug.cgi?id=268942
<rdar://problem/122493988>
Reviewed by Yusuke Suzuki.
Since eval() may throw an exception, 273782@main moving throwScope.release() to
come after it broke
exception scope validation. Also, we would like to avoid calling setUpCall() in
case of exception,
reserving it only for indirect eval().
This change adds LLINT_CALL_CHECK_EXCEPTION() to fix both issues, and also
makes eval() consistently
return empty JSValue() in case of exception, which is non-observable code tweak.
* Source/JavaScriptCore/interpreter/Interpreter.cpp:
(JSC::eval):
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::commonCallDirectEval):
Canonical link: https://commits.webkit.org/274264@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes