LibGfx: Don't assume that image decoder plugin creation succeeds

An image with an incorrect header should fail at this step, so we have
to handle that without crashing.
This commit is contained in:
Lucas CHOLLET 2023-07-16 22:58:33 -04:00 committed by Sam Atkins
parent 074ea60bb6
commit 7b72bf2910
Notes: sideshowbarker 2024-07-17 07:43:44 +09:00

View file

@ -48,9 +48,11 @@ static OwnPtr<ImageDecoderPlugin> probe_and_sniff_for_appropriate_plugin(Readonl
auto sniff_result = plugin.sniff(bytes);
if (!sniff_result)
continue;
auto plugin_decoder = plugin.create(bytes).release_value_but_fixme_should_propagate_errors();
if (!plugin_decoder->initialize().is_error())
return plugin_decoder;
auto plugin_decoder = plugin.create(bytes);
if (!plugin_decoder.is_error()) {
if (!plugin_decoder.value()->initialize().is_error())
return plugin_decoder.release_value();
}
}
return {};
}