Index: Source/platform/image-decoders/jpeg/JPEGImageDecoder.cpp |
diff --git a/Source/platform/image-decoders/jpeg/JPEGImageDecoder.cpp b/Source/platform/image-decoders/jpeg/JPEGImageDecoder.cpp |
index 92b6b0a141d5bb07ee35236b28b243041d8a3c4e..cfa029567b0d29266eea09b72f5d271018fd003d 100644 |
--- a/Source/platform/image-decoders/jpeg/JPEGImageDecoder.cpp |
+++ b/Source/platform/image-decoders/jpeg/JPEGImageDecoder.cpp |
@@ -263,7 +263,11 @@ static yuv_subsampling yuvSubsampling(const jpeg_decompress_struct& info) |
{ |
if ((DCTSIZE == 8) |
&& (info.num_components == 3) |
+ && (info.comps_in_scan >= info.num_components) |
&& (info.scale_denom <= 8) |
+ && (info.cur_comp_info[0]) |
+ && (info.cur_comp_info[1]) |
+ && (info.cur_comp_info[2]) |
&& (info.cur_comp_info[1]->h_samp_factor == 1) |
&& (info.cur_comp_info[1]->v_samp_factor == 1) |
&& (info.cur_comp_info[2]->h_samp_factor == 1) |