mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Merge pull request #25864 from vrabaud:legacy
Make sure all the lines of a JPEG are read #25864 In case of corrupted JPEG, imread would still return a JPEG of the proper size (as indicated by the header) but with some uninitialized values. I do not have a short reproducer I can add as a test as this was found by our fuzzers. ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch
This commit is contained in:
parent
94b7a2d320
commit
dfbd18e9aa
@ -499,7 +499,7 @@ bool JpegDecoder::readData( Mat& img )
|
|||||||
for( int iy = 0 ; iy < m_height; iy ++ )
|
for( int iy = 0 ; iy < m_height; iy ++ )
|
||||||
{
|
{
|
||||||
uchar* data = img.ptr<uchar>(iy);
|
uchar* data = img.ptr<uchar>(iy);
|
||||||
jpeg_read_scanlines( cinfo, &data, 1 );
|
if (jpeg_read_scanlines( cinfo, &data, 1 ) != 1) return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -510,7 +510,7 @@ bool JpegDecoder::readData( Mat& img )
|
|||||||
for( int iy = 0 ; iy < m_height; iy ++ )
|
for( int iy = 0 ; iy < m_height; iy ++ )
|
||||||
{
|
{
|
||||||
uchar* data = img.ptr<uchar>(iy);
|
uchar* data = img.ptr<uchar>(iy);
|
||||||
jpeg_read_scanlines( cinfo, buffer, 1 );
|
if (jpeg_read_scanlines( cinfo, buffer, 1 ) != 1) return false;
|
||||||
|
|
||||||
if( color )
|
if( color )
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user