Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0bf37696c4bd041298c11c55b47aeb5b8e461816 https://github.com/WebKit/WebKit/commit/0bf37696c4bd041298c11c55b47aeb5b8e461816 Author: Alexey Shvayka <ashva...@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@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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes