[webkit-changes] [WebKit/WebKit] b46a8f: Use-after-free in processResponse in ServiceWorker...
lericaa
noreply at github.com
Wed Jan 24 10:17:02 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b46a8fcd809a9c84aa92538e942e1fa0c789ed27
https://github.com/WebKit/WebKit/commit/b46a8fcd809a9c84aa92538e942e1fa0c789ed27
Author: Youenn Fablet <youennf at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp
Log Message:
-----------
Use-after-free in processResponse in ServiceWorkerFetch.cpp
rdar://118039950
Reviewed by Chris Dumez.
Cancelling the stream can trigger GC when creating the DOMException JS wrapper.
This might collect the FetchResponse object.
To make sure the FetchResponse object stays live for the whole time, we protect it in the callback.
* Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::processResponse):
Originally-landed-as: 267815.569 at safari-7617-branch (5ebdf97c0a26). rdar://121481543
Canonical link: https://commits.webkit.org/273420@main
Commit: dc6de2647a918167eeaf607fb54ca0f651b32979
https://github.com/WebKit/WebKit/commit/dc6de2647a918167eeaf607fb54ca0f651b32979
Author: Claudio Saavedra <csaavedra at igalia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A LayoutTests/fast/parser/parser-insertion-after-shadow-reparenting-expected.txt
A LayoutTests/fast/parser/parser-insertion-after-shadow-reparenting.html
M Source/WebCore/dom/ContainerNode.cpp
Log Message:
-----------
DOM: Make sure to set tree scope during parser insertion
https://bugs.webkit.org/show_bug.cgi?id=263178
rdar://116715621
Reviewed by Ryosuke Niwa.
It is possible for an element to be reparented, pg., to a shadow
tree before parsing has finished, so we need to make sure to set the
correct tree scope for a new element during parsing insertion,
otherwise it might end up associated to the wrong tree scope.
* LayoutTests/fast/parser/parser-insertion-after-shadow-reparenting-expected.txt: Added.
* LayoutTests/fast/parser/parser-insertion-after-shadow-reparenting.html: Added.
* Source/WebCore/dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserInsertBefore):
Originally-landed-as: 268451.4 at webkit-2023.9-embargoed (f554230ef55f). rdar://121481452
Canonical link: https://commits.webkit.org/273421@main
Commit: 0023fa29b365fd4f1f7c79ff3bd84786e96a1ea9
https://github.com/WebKit/WebKit/commit/0023fa29b365fd4f1f7c79ff3bd84786e96a1ea9
Author: Kimmo Kinnunen <kkinnunen at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
Log Message:
-----------
GraphicsContextGLCocoa::setDrawingBufferColorSpace is missing makeContextCurrent()
https://bugs.webkit.org/show_bug.cgi?id=265129
rdar://118650182
Reviewed by Dan Glastonbury.
All public API entrypoints in GraphicsContextGLANGLE should call
the makeContextCurrent().
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::setDrawingBufferColorSpace):
Originally-landed-as: 267815.586 at safari-7617-branch (e408ece1b8a7). rdar://121481426
Canonical link: https://commits.webkit.org/273422@main
Commit: f0b62299b0c73fae19a498524298a672479afdf9
https://github.com/WebKit/WebKit/commit/f0b62299b0c73fae19a498524298a672479afdf9
Author: Kimmo Kinnunen <kkinnunen at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Texture.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/PbufferTest.cpp
Log Message:
-----------
ANGLE eglBindTexImage ASSERT when overwriting a binding
https://bugs.webkit.org/show_bug.cgi?id=265127
rdar://118649807
Reviewed by Dan Glastonbury.
glBindTexture(GL_TEXTURE_2D, tex);
eglBindTexImage(.., pbuffer, ...);
- Would set the Surface::mBoundTexture of pbuffer
- Would set the Texture::mBoundSurface of tex
eglBindTexImage(.., pbuffer2, ...);
- Would set the Surface::mBoundTexture of pbuffer2
- Would set the Texture::mBoundSurface of tex
- Would fail to unset Surface::mBoundTexture of pbuffer
Fix by making the unset logic linear, avoiding
Surface -> Texture -> Surface call sequence.
* Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp:
(egl::Surface::bindTexImage):
* Source/ThirdParty/ANGLE/src/libANGLE/Texture.cpp:
(gl::Texture::bindTexImageFromSurface):
* Source/ThirdParty/ANGLE/src/tests/gl_tests/PbufferTest.cpp:
Originally-landed-as: 267815.587 at safari-7617-branch (db3f6a7dbf33). rdar://121481385
Canonical link: https://commits.webkit.org/273423@main
Commit: 568df84631eb4f205057cb9634fa404e2787d08c
https://github.com/WebKit/WebKit/commit/568df84631eb4f205057cb9634fa404e2787d08c
Author: Erica Li <lerica at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A LayoutTests/fast/text/line-break-after-whitespace-create-display-content-crash-expected.txt
A LayoutTests/fast/text/line-break-after-whitespace-create-display-content-crash.html
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
Log Message:
-----------
[3a7d43b31aba54c5] ASAN_SEGV | Layout::LineBoxBuilder::constructInlineLevelBoxes; Layout::LineBoxBuilder::build; Layout::InlineFormattingContext::createDisplayContentForInlineContent
https://bugs.webkit.org/show_bug.cgi?id=265107
rdar://118424612
Reviewed by Alan Baradlay.
Bail out createDisplayContentForLineFromCachedContent when restoreTrimmedTrailingWhitespace failed.
* LayoutTests/fast/text/line-break-after-whitespace-create-display-content-crash-expected.txt: Added.
* LayoutTests/fast/text/line-break-after-whitespace-create-display-content-crash.html: Added.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::createDisplayContentForLineFromCachedContent):
Originally-landed-as: 267815.594 at safari-7617-branch (7ee16f6de094). rdar://121481331
Canonical link: https://commits.webkit.org/273424@main
Compare: https://github.com/WebKit/WebKit/compare/f62dc2ae6c6b...568df84631eb
More information about the webkit-changes
mailing list