diff --git a/Tests/LibWeb/Text/expected/Messaging/MessagePort-start-after-close.txt b/Tests/LibWeb/Text/expected/Messaging/MessagePort-start-after-close.txt new file mode 100644 index 0000000000..aaecaf93c4 --- /dev/null +++ b/Tests/LibWeb/Text/expected/Messaging/MessagePort-start-after-close.txt @@ -0,0 +1 @@ +PASS (didn't crash) diff --git a/Tests/LibWeb/Text/input/Messaging/MessagePort-start-after-close.html b/Tests/LibWeb/Text/input/Messaging/MessagePort-start-after-close.html new file mode 100644 index 0000000000..4c36d3af5e --- /dev/null +++ b/Tests/LibWeb/Text/input/Messaging/MessagePort-start-after-close.html @@ -0,0 +1,10 @@ + + diff --git a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp index a66850f95b..defc64969b 100644 --- a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp +++ b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp @@ -364,6 +364,9 @@ void MessagePort::post_message_task_steps(SerializedTransferRecord& serialize_wi // https://html.spec.whatwg.org/multipage/web-messaging.html#dom-messageport-start void MessagePort::start() { + if (!is_entangled()) + return; + VERIFY(m_socket); VERIFY(m_fd_passing_socket);