Title: [294124] trunk/Source/WebCore
- Revision
- 294124
- Author
- sihui_...@apple.com
- Date
- 2022-05-12 14:57:09 -0700 (Thu, 12 May 2022)
Log Message
StorageMap::removeItem may fail to remove item from map
https://bugs.webkit.org/show_bug.cgi?id=239982
rdar://80891555
* storage/StorageMap.cpp:
(WebCore::StorageMap::removeItem):
Address post-landing review comment from Darin.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (294123 => 294124)
--- trunk/Source/WebCore/ChangeLog 2022-05-12 21:56:45 UTC (rev 294123)
+++ trunk/Source/WebCore/ChangeLog 2022-05-12 21:57:09 UTC (rev 294124)
@@ -1,3 +1,13 @@
+2022-05-12 Sihui Liu <sihui_...@apple.com>
+
+ StorageMap::removeItem may fail to remove item from map
+ https://bugs.webkit.org/show_bug.cgi?id=239982
+ rdar://80891555
+
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::removeItem):
+ Address post-landing review comment from Darin.
+
2022-05-12 J Pascoe <j_pas...@apple.com>
[WebAuthn] Include backup state in authenticatorData
Modified: trunk/Source/WebCore/storage/StorageMap.cpp (294123 => 294124)
--- trunk/Source/WebCore/storage/StorageMap.cpp 2022-05-12 21:56:45 UTC (rev 294123)
+++ trunk/Source/WebCore/storage/StorageMap.cpp 2022-05-12 21:57:09 UTC (rev 294124)
@@ -134,11 +134,14 @@
oldValue = iter->value;
newSize = newSize - iter->key.sizeInBytes() - oldValue.sizeInBytes();
- // Implement copy-on-write semantics.
- if (m_impl->refCount() > 1)
+ if (m_impl->hasOneRef())
+ m_impl->map.remove(iter);
+ else {
+ // Implement copy-on-write semantics.
m_impl = m_impl->copy();
+ m_impl->map.remove(key);
+ }
- m_impl->map.remove(key);
m_impl->currentSize = newSize;
invalidateIterator();
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes