Title: [286478] trunk
Revision
286478
Author
ysuz...@apple.com
Date
2021-12-02 20:24:41 -0800 (Thu, 02 Dec 2021)

Log Message

[JSC] shell's $.globalObjectFor is not safe for non object cells
https://bugs.webkit.org/show_bug.cgi?id=233794

Reviewed by Saam Barati.

JSTests:

* stress/dollar-global-object.js: Added.

Source/_javascript_Core:

Only Object cells can have Structures having JSGlobalObject.

* jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):

Modified Paths

Added Paths

Diff

Modified: trunk/JSTests/ChangeLog (286477 => 286478)


--- trunk/JSTests/ChangeLog	2021-12-03 04:17:30 UTC (rev 286477)
+++ trunk/JSTests/ChangeLog	2021-12-03 04:24:41 UTC (rev 286478)
@@ -1,3 +1,12 @@
+2021-12-02  Yusuke Suzuki  <ysuz...@apple.com>
+
+        [JSC] shell's $.globalObjectFor is not safe for non object cells
+        https://bugs.webkit.org/show_bug.cgi?id=233794
+
+        Reviewed by Saam Barati.
+
+        * stress/dollar-global-object.js: Added.
+
 2021-12-02  Saam Barati  <sbar...@apple.com>
 
         Fix OOM crash in JSValue::toWTFStringForConsole

Added: trunk/JSTests/stress/dollar-global-object.js (0 => 286478)


--- trunk/JSTests/stress/dollar-global-object.js	                        (rev 0)
+++ trunk/JSTests/stress/dollar-global-object.js	2021-12-03 04:24:41 UTC (rev 286478)
@@ -0,0 +1 @@
+$.globalObjectFor("Hey") + "Hey";

Modified: trunk/Source/_javascript_Core/ChangeLog (286477 => 286478)


--- trunk/Source/_javascript_Core/ChangeLog	2021-12-03 04:17:30 UTC (rev 286477)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-03 04:24:41 UTC (rev 286478)
@@ -1,3 +1,15 @@
+2021-12-02  Yusuke Suzuki  <ysuz...@apple.com>
+
+        [JSC] shell's $.globalObjectFor is not safe for non object cells
+        https://bugs.webkit.org/show_bug.cgi?id=233794
+
+        Reviewed by Saam Barati.
+
+        Only Object cells can have Structures having JSGlobalObject.
+
+        * jsc.cpp:
+        (JSC_DEFINE_HOST_FUNCTION):
+
 2021-12-02  Saam Barati  <sbar...@apple.com>
 
         Lower structureHeapAddressSize on more memory limited ARM64 devices

Modified: trunk/Source/_javascript_Core/jsc.cpp (286477 => 286478)


--- trunk/Source/_javascript_Core/jsc.cpp	2021-12-03 04:17:30 UTC (rev 286477)
+++ trunk/Source/_javascript_Core/jsc.cpp	2021-12-03 04:24:41 UTC (rev 286478)
@@ -2077,8 +2077,8 @@
     if (callFrame->argumentCount() < 1)
         return JSValue::encode(throwException(globalObject, scope, createError(globalObject, "Not enough arguments"_s)));
     JSValue arg = callFrame->argument(0);
-    if (arg.isCell())
-        return JSValue::encode(arg.asCell()->structure(vm)->globalObject()->globalThis());
+    if (arg.isObject())
+        return JSValue::encode(asObject(arg)->globalObject(vm)->globalThis());
 
     return JSValue::encode(jsUndefined());
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to