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

Reply via email to