Changeset 280083 in webkit
- Timestamp:
- Jul 20, 2021, 9:54:58 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
loader/cache/CachedRawResource.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r280081 r280083 1 2021-07-20 Alex Christensen <achristensen@webkit.org> 2 3 Protect m_data when iterating in CachedRawResource::didAddClient 4 https://bugs.webkit.org/show_bug.cgi?id=228108 5 <rdar://80716674> 6 7 Reviewed by Chris Dumez. 8 9 I think something is destroying m_data when its segments are being iterated. 10 Protect it so it doesn't get destroyed. 11 Also, to be on the safe side, check that the client is still a client before using it. 12 13 * loader/cache/CachedRawResource.cpp: 14 (WebCore::CachedRawResource::didAddClient): 15 1 16 2021-07-20 Sam Sneddon <gsnedders@apple.com> 2 17 -
trunk/Source/WebCore/loader/cache/CachedRawResource.cpp
r278849 r280083 168 168 if (!hasClient(*client)) 169 169 return; 170 if (m_data) { 171 m_data->forEachSegment([&](auto& segment) { 172 client->dataReceived(*this, segment.data(), segment.size()); 170 if (auto data = m_data) { 171 data->forEachSegment([&](auto& segment) { 172 if (hasClient(*client)) 173 client->dataReceived(*this, segment.data(), segment.size()); 173 174 }); 174 175 }
Note:
See TracChangeset
for help on using the changeset viewer.