summaryrefslogtreecommitdiff
path: root/test/image_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-04 12:04:30 +0100
committerCarl Hetherington <cth@carlh.net>2019-11-04 12:06:29 +0100
commitb32d031762bc49d8d076d36c4a8c60fa175a94dc (patch)
treec14f18e865f101b40176cf097bdb84310e744e2d /test/image_test.cc
parent9fd1cd191fe59ab53f5942dfdc631dac06efa206 (diff)
Fix out-of-bounds read when cropping JPEG2000 images (#1654).
Backported from 25d968fdcf1abada4bd7bbcb8c72eeebda73b134 in v2.15.x.
Diffstat (limited to 'test/image_test.cc')
-rw-r--r--test/image_test.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/image_test.cc b/test/image_test.cc
index 8a7feb126..40abfda43 100644
--- a/test/image_test.cc
+++ b/test/image_test.cc
@@ -267,6 +267,15 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test)
check_image("test/data/crop_scale_window_test.png", "build/test/crop_scale_window_test.png");
}
+/** Special cases of Image::crop_scale_window which triggered some valgrind warnings */
+BOOST_AUTO_TEST_CASE (crop_scale_window_test2)
+{
+ /* This 2048 does the same as J2KImageProxy does when it makes an image */
+ shared_ptr<Image> image (new Image(AV_PIX_FMT_XYZ12LE, dcp::Size(2048, 858), true, 2048));
+ image->crop_scale_window (Crop(279, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, false, false);
+ image->crop_scale_window (Crop(2048, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, false, false);
+}
+
BOOST_AUTO_TEST_CASE (as_png_test)
{
shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/3d_test/000001.png"));