[webkit-changes] [WebKit/WebKit] 0bf376: REGRESSION(273782 at main): Missing exception check i...
Commit Queue
noreply at github.com
Wed Feb 7 19:09:08 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0bf37696c4bd041298c11c55b47aeb5b8e461816
https://github.com/WebKit/WebKit/commit/0bf37696c4bd041298c11c55b47aeb5b8e461816
Author: Alexey Shvayka <ashvayka at apple.com>
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 at 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 at 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
More information about the webkit-changes
mailing list