Changeset 293736 in webkit
- Timestamp:
- May 3, 2022, 1:18:02 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 3 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/storage/domstorage/sessionstorage/resources/window-open-remove-item.html (added)
-
LayoutTests/storage/domstorage/sessionstorage/window-open-remove-item-expected.txt (added)
-
LayoutTests/storage/domstorage/sessionstorage/window-open-remove-item.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/storage/StorageMap.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r293731 r293736 1 2022-05-03 Sihui Liu <sihui_liu@apple.com> 2 3 StorageMap::removeItem may fail to remove item from map 4 https://bugs.webkit.org/show_bug.cgi?id=239982 5 rdar://80891555 6 7 Reviewed by Chris Dumez. 8 9 * storage/domstorage/sessionstorage/resources/window-open-remove-item.html: Added. 10 * storage/domstorage/sessionstorage/window-open-remove-item-expected.txt: Added. 11 * storage/domstorage/sessionstorage/window-open-remove-item.html: Added. 12 1 13 2022-05-03 Robert Jenner <Jenner@apple.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r293735 r293736 1 2022-05-03 Sihui Liu <sihui_liu@apple.com> 2 3 StorageMap::removeItem may fail to remove item from map 4 https://bugs.webkit.org/show_bug.cgi?id=239982 5 rdar://80891555 6 7 Reviewed by Chris Dumez. 8 9 We may have updated m_impl, but we don't update iterator for removal. In this case, item is not removed from 10 map, but currentSize is updated. The mismatch between currentSize and actual size of the map may lead to 11 underflow and overflow in currentSize when item is added or removed later. 12 13 Test: storage/domstorage/sessionstorage/window-open-remove-item.html 14 15 * storage/StorageMap.cpp: 16 (WebCore::StorageMap::removeItem): 17 1 18 2022-05-03 Chris Dumez <cdumez@apple.com> 2 19 -
trunk/Source/WebCore/storage/StorageMap.cpp
r292836 r293736 139 139 m_impl = m_impl->copy(); 140 140 141 m_impl->map.remove( iter);141 m_impl->map.remove(key); 142 142 m_impl->currentSize = newSize; 143 143 invalidateIterator();
Note:
See TracChangeset
for help on using the changeset viewer.