ladybird/Tests
sideshowbarker 9d64cd8c9b LibGfx: Reject the Invalid bitmap format from IPC decoders
Problem: A borked process sending a Gfx::Bitmap (inside BitmapSequence)
or a Gfx::ShareableBitmap over IPC could set BitmapFormat::Invalid as
the format field. The receiving process then aborted while decoding the
message — an IPC-reachable crash.

Cause: The helper that both decoders use for validating the format read
off the wire accepts BitmapFormat::Invalid. The decoders go on to build
a bitmap with that format. But that triggers an assert — because
minimum_pitch only knows the four real pixel formats.

Fix: Drop BitmapFormat::Invalid from is_valid_bitmap_format. It’s an
indicator of an absent/unknown format, never one a real bitmap can have.
And any real bitmap is never encoded with it. So, both BitmapSequence
and ShareableBitmap decode now return a clean decode error for it.
2026-06-19 10:33:36 +02:00
..
AK AK: Remove custom deleters from OwnPtr 2026-06-13 22:49:15 +02:00
ClangPlugins LibGC: Default-construct RootHashMap from the global heap 2026-05-20 20:37:55 +02:00
LibCompress LibCompress: Remove PackBitsDecoder 2026-06-12 22:37:49 +02:00
LibCore LibThreading: Remove BackgroundAction 2026-06-05 20:00:12 +02:00
LibCrypto LibCrypto: Restore cached tag when a failed ASN1 read is rolled back 2026-06-09 08:02:44 +01:00
LibDatabase LibDatabase: Allow String values to contain embedded null bytes 2026-02-14 10:25:33 -05:00
LibDevTools LibDevTools: Handle fragmented protocol packets 2026-06-18 22:53:30 +02:00
LibDiff AK: Remove unused include from MemoryStream 2026-02-17 12:38:51 +00:00
LibDNS Tests/LibDNS: Make TestDNSResolver independent of live DNS 2026-06-17 18:27:33 +02:00
LibGC LibGC: Introduce ConservativeHashTable 2026-05-28 21:16:23 +02:00
LibGfx LibGfx: Reject the Invalid bitmap format from IPC decoders 2026-06-19 10:33:36 +02:00
LibHTTP LibWeb: Preserve JS bytecode in memory cache 2026-06-06 09:15:09 +02:00
LibIPC LibIPC: Don’t dispatch queued messages when sync IPC peer disconnects 2026-05-24 10:00:31 +02:00
LibJS LibJS: Evaluate ToNumber for out-of-bounds typed array writes 2026-06-17 21:24:33 +02:00
LibMedia LibMedia: Rename timing getters in AudioBlock 2026-06-06 19:58:17 -05:00
LibRegex LibRegex: Inline \w and \d ranges in legacy positive char classes 2026-04-21 16:36:38 +02:00
LibTest CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibTextCodec LibTextCodec: Stop buffering invalid UTF-8 tails 2026-05-18 14:08:22 +02:00
LibThreading LibThreading: Remove BackgroundAction 2026-06-05 20:00:12 +02:00
LibTLS Meta: Rename and merge some lagom_* and ladybird_* 2026-05-05 22:08:24 +02:00
LibUnicode LibUnicode: Add an ASCII fast path for line break segmentation 2026-05-05 18:59:07 +02:00
LibURL LibURL: Let Host use PublicSuffixData star rule matching 2026-06-16 06:14:07 +02:00
LibWasm LibJS: Isolate ArrayBuffer backing stores 2026-06-10 14:50:10 +02:00
LibWeb LibWeb: Implement CSS progress() math function 2026-06-19 09:33:06 +01:00
LibWebView Tests: Wait for session history convergence in UI history assertions 2026-06-18 10:23:49 +02:00
LibXML CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
Meta Meta: Handle juxtaposition in CSS value parsing code generation 2026-05-13 11:26:20 +01:00
CMakeLists.txt Tests: Add a LibDevTools test suite 2026-05-27 08:55:02 +01:00