ladybird/Libraries
Aliaksandr Kalenik 5a7ef7d494 LibWeb: Handle null active document in content_document()
The Crash/HTML/image-load-after-iframe-navigated.html test was
crashing on CI with a null pointer dereference at
NavigableContainer.cpp:178. The crash occurs because content_document()
dereferences the return value of active_document() without checking for
null.

When an iframe is navigated, Document::destroy() sets the old
document state's document to null via set_document(nullptr), but
the navigable (m_content_navigable) remains non-null since it is
reused for the new navigation. During the window between the old
document being destroyed and the new document being set,
active_document() returns null. If JS code accesses
iframe.contentDocument during this window (e.g. via a timer
callback), content_document() would dereference the null pointer.
2026-03-31 18:31:53 +02:00
..
LibCompress LibCompress: Remove unused header in Gzip 2026-02-23 12:15:23 +01:00
LibCore LibCore: Don’t pass O_CLOEXEC to shm_open 2026-03-31 17:21:17 +01:00
LibCrypto LibCrypto: Use OpenSSL wrappers in KMAC 2026-03-25 22:07:53 +01:00
LibDatabase LibDatabase: Allow String values to contain embedded null bytes 2026-02-14 10:25:33 -05:00
LibDevTools AK+Everywhere: Add and use weak_callback() 2026-02-26 08:03:50 -05:00
LibDiff CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibDNS LibDNS: Remove unused header in Message 2026-02-23 12:15:23 +01:00
LibFileSystem LibFileSystem: Remove unneeded is_null check for StringView 2026-03-31 13:48:50 +01:00
LibGC Libraries: Move #pragma once above include headers 2026-03-22 14:05:44 +01:00
LibGfx LibGfx+LibWeb: Remove unused code from Gfx::Point/Rect/Size 2026-03-31 10:37:23 +02:00
LibHTTP LibRegex: Add ECMAScriptRegex and migrate callers 2026-03-27 17:32:19 +01:00
LibIDL LibIDL: Track referenced interfaces for an interface 2026-03-11 21:16:44 +01:00
LibImageDecoderClient LibImageDecoderClient: Remove sync id fetch from async decode request 2026-02-28 00:04:06 -06:00
LibIPC Everywhere: Move Mach bootstrap listener into LibIPC 2026-03-24 19:51:52 +01:00
LibJS LibJS: Retry Unicode low-surrogate lastIndex positions 2026-03-31 15:59:04 +02:00
LibLine LibCore: Remove unused header in EventLoop 2026-02-21 19:27:35 +01:00
LibMain AK: Expose helpers to invoke Windows runtime config directly in main() 2025-10-29 21:07:52 -06:00
LibMedia LibMedia: Avoid unnecessary atomic refs in PulseAudio streams 2026-03-30 20:57:04 -05:00
LibRegex LibRegex: Preserve set-op direction in backward /v matches 2026-03-31 15:59:04 +02:00
LibRequests Meta: Move compile_ipc calls to the relevant client library CMakeLists 2026-03-29 13:59:11 -06:00
LibSyntax LibSyntax: Include RefCounted in Document.h 2026-01-23 09:20:15 +01:00
LibTest LibJS: Rename Value::as_array() to Value::as_array_exotic_object()` 2026-03-29 13:45:38 +02:00
LibTextCodec LibTextEncoder/LibURL: Cleanup includes 2026-02-26 18:31:57 +01:00
LibThreading LibThreading: Fix data race in RWLock::unlock() 2026-03-07 13:09:50 +01:00
LibTLS LibTLS: Use Windows-specific method to set default certificate store 2025-08-23 18:35:45 -06:00
LibUnicode Meta: Make Rust FFI headers reproducible 2026-03-31 15:59:04 +02:00
LibURL LibRegex: Add ECMAScriptRegex and migrate callers 2026-03-27 17:32:19 +01:00
LibWasm Everywhere: Use AK::SaturatingMath and remove Checked saturating APIs 2026-03-21 18:20:09 -05:00
LibWeb LibWeb: Handle null active document in content_document() 2026-03-31 18:31:53 +02:00
LibWebSocket LibWebSocket: Fix close frame status code written in wrong byte order 2026-03-13 17:28:06 +01:00
LibWebView Meta: Move compile_ipc calls to the relevant client library CMakeLists 2026-03-29 13:59:11 -06:00
LibXML LibXML+LibWeb: Use existing HTML entities table for XML parsing too 2026-01-09 19:13:41 +00:00
CMakeLists.txt Meta: Move library subdirectory inclusion to the Libraries CMakeLists 2026-03-29 13:59:11 -06:00