Need to acquire the VM lock before calling toNumber on a JSValue.
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Apr 2018 19:19:47 +0000 (19:19 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Apr 2018 19:19:47 +0000 (19:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184924
<rdar://problem/39690679>

Reviewed by Saam Barati.

* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/bridge/objc/objc_utility.mm

index 8a14656..8ca0bf6 100644 (file)
@@ -1,3 +1,14 @@
+2018-04-24  Mark Lam  <mark.lam@apple.com>
+
+        Need to acquire the VM lock before calling toNumber on a JSValue.
+        https://bugs.webkit.org/show_bug.cgi?id=184924
+        <rdar://problem/39690679>
+
+        Reviewed by Saam Barati.
+
+        * bridge/objc/objc_utility.mm:
+        (JSC::Bindings::convertValueToObjcValue):
+
 2018-04-24  Tadeu Zagallo  <tzagallo@apple.com>
 
         REGRESSION(r221839): Fix requests with FormData containing empty files
index 2a1671f..7c5d799 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004, 2013, 2016 Apple Inc.  All rights reserved.
+ * Copyright (C) 2004-2018 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -81,8 +81,10 @@ ObjcValue convertValueToObjcValue(ExecState* exec, JSValue value, ObjcValueType
     ObjcValue result;
     double d = 0;
 
-    if (value.isNumber() || value.isString() || value.isBoolean())
+    if (value.isNumber() || value.isString() || value.isBoolean()) {
+        JSLockHolder lock(exec);
         d = value.toNumber(exec);
+    }
 
     switch (type) {
         case ObjcObjectType: {