Changeset 139365 in webkit
- Timestamp:
- Jan 10, 2013, 1:52:40 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r139356 r139365 1 2013-01-10 Xianzhu Wang <wangxianzhu@chromium.org> 2 3 Regression(r129944): Heap-use-after-free in WebCore::computeNonFastScrollableRegion 4 https://bugs.webkit.org/show_bug.cgi?id=99515 5 6 Reviewed by Simon Fraser. 7 8 The object used-after-freed is a destructed FrameView that is still in the m_scrollableAreas set of the parent FrameView. Actually it has been removed from m_scrollableAreas when setParent(0), but then is added back in updateScrollableAreaSet() because its frameViewParent() is still not 0 (though parent() is already 0). 9 10 No new tests. The heap-use-after-free doesn't always cause crash so it can't be stably tested with a test case. Memory analysis tools like asan discovered the heap-use-after-free and verified that the patch can fix the issue. 11 12 * page/FrameView.cpp: 13 (WebCore::FrameView::parentFrameView): Checks if the FrameView has been removed from the parent. 14 1 15 2013-01-10 John Mellor <johnme@chromium.org> 2 16 -
trunk/Source/WebCore/page/FrameView.cpp
r139024 r139365 3110 3110 FrameView* FrameView::parentFrameView() const 3111 3111 { 3112 if (!parent()) 3113 return 0; 3114 3112 3115 if (Frame* parentFrame = m_frame->tree()->parent()) 3113 3116 return parentFrame->view();
Note:
See TracChangeset
for help on using the changeset viewer.