Title: [239307] releases/WebKitGTK/webkit-2.22
Revision
239307
Author
mcatanz...@igalia.com
Date
2018-12-17 18:03:09 -0800 (Mon, 17 Dec 2018)

Log Message

Merge r239198 - Add a missing exception check.
https://bugs.webkit.org/show_bug.cgi?id=192626
<rdar://problem/46662163>

Reviewed by Keith Miller.

JSTests:

* stress/regress-192626.js: Added.

Source/_javascript_Core:

* runtime/ScopedArguments.h:

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog (239306 => 239307)


--- releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog	2018-12-18 01:45:47 UTC (rev 239306)
+++ releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog	2018-12-18 02:03:09 UTC (rev 239307)
@@ -1,3 +1,13 @@
+2018-12-13  Mark Lam  <mark....@apple.com>
+
+        Add a missing exception check.
+        https://bugs.webkit.org/show_bug.cgi?id=192626
+        <rdar://problem/46662163>
+
+        Reviewed by Keith Miller.
+
+        * stress/regress-192626.js: Added.
+
 2018-12-10  Mark Lam  <mark....@apple.com>
 
         PropertyAttribute needs a CustomValue bit.

Added: releases/WebKitGTK/webkit-2.22/JSTests/stress/regress-192626.js (0 => 239307)


--- releases/WebKitGTK/webkit-2.22/JSTests/stress/regress-192626.js	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.22/JSTests/stress/regress-192626.js	2018-12-18 02:03:09 UTC (rev 239307)
@@ -0,0 +1,23 @@
+var a = {};
+
+function foo() {
+    return Array.prototype.splice.apply([], a);
+}
+noInline(foo);
+
+function bar(b) {
+    with({});
+    a = arguments;
+    a.__defineGetter__("length", String.prototype.valueOf);
+    foo();
+}
+
+var exception;
+try {
+    bar();
+} catch (e) {
+    exception = e;
+}
+
+if (exception != "TypeError: Type error")
+    throw "FAIL";

Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog (239306 => 239307)


--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog	2018-12-18 01:45:47 UTC (rev 239306)
+++ releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog	2018-12-18 02:03:09 UTC (rev 239307)
@@ -1,3 +1,13 @@
+2018-12-13  Mark Lam  <mark....@apple.com>
+
+        Add a missing exception check.
+        https://bugs.webkit.org/show_bug.cgi?id=192626
+        <rdar://problem/46662163>
+
+        Reviewed by Keith Miller.
+
+        * runtime/ScopedArguments.h:
+
 2018-12-10  Mark Lam  <mark....@apple.com>
 
         PropertyAttribute needs a CustomValue bit.

Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/runtime/ScopedArguments.h (239306 => 239307)


--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/runtime/ScopedArguments.h	2018-12-18 01:45:47 UTC (rev 239306)
+++ releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/runtime/ScopedArguments.h	2018-12-18 02:03:09 UTC (rev 239307)
@@ -74,8 +74,13 @@
     uint32_t length(ExecState* exec) const
     {
         VM& vm = exec->vm();
-        if (UNLIKELY(storageHeader().overrodeThings))
-            return get(exec, vm.propertyNames->length).toUInt32(exec);
+        auto scope = DECLARE_THROW_SCOPE(vm);
+        if (UNLIKELY(storageHeader().overrodeThings)) {
+            auto value = get(exec, vm.propertyNames->length);
+            RETURN_IF_EXCEPTION(scope, 0);
+            scope.release();
+            return value.toUInt32(exec);
+        }
         return internalLength();
     }
     
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to