LibWeb: Add a null-check for page() in ESO::is_scripting_enabled()

This could lead to a crash when spamming reload on a page with a
<script> element.
This commit is contained in:
Simon Wanner 2022-04-03 21:42:50 +02:00 committed by Andreas Kling
parent 9765f9f67e
commit fe0f0b0acf
Notes: sideshowbarker 2024-07-17 14:31:09 +09:00

View file

@ -247,7 +247,7 @@ bool EnvironmentSettingsObject::is_scripting_enabled() const
// The user has not disabled scripting for settings at this time. (User agents may provide users with the option to disable scripting globally, or in a finer-grained manner, e.g., on a per-origin basis, down to the level of individual environment settings objects.)
auto document = const_cast<EnvironmentSettingsObject&>(*this).responsible_document();
VERIFY(document);
if (!document->window().page()->is_scripting_enabled())
if (!document->page() || !document->page()->is_scripting_enabled())
return false;
// FIXME: Either settings's global object is not a Window object, or settings's global object's associated Document's active sandboxing flag set does not have its sandboxed scripts browsing context flag set.