ladybird/Libraries/LibWeb/Streams
sideshowbarker 8e74650416 LibWeb: Fix crash when reading a detached or out-of-bounds stream chunk
Problem: Crash when reading a ReadableStream whose chunk is a Uint8Array
backed by a detached ArrayBuffer.

Cause: The ReadLoopReadRequest::on_chunk code skipped existing guards
when extracting the chunk bytes — leading to bytes() getting called on
the detached buffer, which tripped an assert.

Fix: Read the chunk through Uint8Array::data() — which guards for the
case where the view is detached (or out-of-bounds). That aligns things
with what the sibling IncrementalReadLoopReadRequest was already doing.

Fixes https://github.com/LadybirdBrowser/ladybird/issues/9965
2026-06-08 13:45:00 +02:00
..
AbstractOperations.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
AbstractOperations.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
Algorithms.h LibWeb/Streams: Put algorithm definitions in a separate header file 2024-12-11 15:11:21 +01:00
ByteLengthQueuingStrategy.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ByteLengthQueuingStrategy.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ByteLengthQueuingStrategy.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CountQueuingStrategy.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CountQueuingStrategy.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CountQueuingStrategy.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
GenericTransformStream.cpp LibWeb: Add the IDL for the GenericTransformStream mixin 2024-11-17 22:37:45 +01:00
GenericTransformStream.h LibWeb: Add the IDL for the GenericTransformStream mixin 2024-11-17 22:37:45 +01:00
GenericTransformStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
QueuingStrategy.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
QueuingStrategy.idl
QueuingStrategyInit.idl
ReadableByteStreamController.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableByteStreamController.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableByteStreamController.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStream.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStream.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStreamAsyncIterator.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ReadableStreamAsyncIterator.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ReadableStreamBYOBReader.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBReader.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBReader.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStreamBYOBRequest.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBRequest.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBRequest.idl
ReadableStreamDefaultController.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamDefaultController.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamDefaultController.idl
ReadableStreamDefaultReader.cpp LibWeb: Fix crash when reading a detached or out-of-bounds stream chunk 2026-06-08 13:45:00 +02:00
ReadableStreamDefaultReader.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
ReadableStreamDefaultReader.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStreamGenericReader.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamGenericReader.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamGenericReader.idl
ReadableStreamOperations.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamOperations.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamPipeTo.cpp LibWeb: Register shutdown-on-close handler once in ReadableStreamPipeTo 2025-12-08 13:57:14 -05:00
ReadableStreamPipeTo.h LibWeb: Register shutdown-on-close handler once in ReadableStreamPipeTo 2025-12-08 13:57:14 -05:00
ReadableStreamTee.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamTee.h LibWeb: Move ReadableStream AOs into their own file 2025-04-18 06:55:40 -04:00
Transformer.idl LibWeb/Streams: Convert Transformer to IDL bindings conversion 2026-05-09 10:49:49 +02:00
TransformStream.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
TransformStream.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
TransformStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
TransformStreamDefaultController.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
TransformStreamDefaultController.h LibWeb: Move ReadableStream AOs into their own file 2025-04-18 06:55:40 -04:00
TransformStreamDefaultController.idl
TransformStreamOperations.cpp LibWeb/Streams: Convert Transformer to IDL bindings conversion 2026-05-09 10:49:49 +02:00
TransformStreamOperations.h LibWeb/Streams: Convert Transformer to IDL bindings conversion 2026-05-09 10:49:49 +02:00
UnderlyingSink.idl LibWeb/Streams: Convert UnderlyingSink to IDL bindings conversion 2026-05-09 10:49:49 +02:00
UnderlyingSource.idl LibWeb/Streams: Convert UnderlyingSource to IDL bindings conversion 2026-05-09 10:49:49 +02:00
WritableStream.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStream.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WritableStreamDefaultController.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultController.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultController.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WritableStreamDefaultWriter.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultWriter.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultWriter.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WritableStreamOperations.cpp LibWeb/Streams: Convert UnderlyingSink to IDL bindings conversion 2026-05-09 10:49:49 +02:00
WritableStreamOperations.h LibWeb/Streams: Convert UnderlyingSink to IDL bindings conversion 2026-05-09 10:49:49 +02:00