1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:57:35 +00:00

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 should have been done in 7b72bf29.
This commit is contained in:
Lucas CHOLLET 2023-07-17 12:38:57 -04:00 committed by Sam Atkins
parent f9e62bc947
commit 3752facfbc

View file

@ -75,9 +75,11 @@ static OwnPtr<ImageDecoderPlugin> probe_and_sniff_for_appropriate_plugin_with_kn
auto validation_result = plugin.validate_before_create(bytes).release_value_but_fixme_should_propagate_errors();
if (!validation_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 {};
}