From 66c7dffd5c6b16812d92a125796e3c9642eac886 Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 25 Jun 2013 17:55:28 -0700 Subject: [PATCH] tests/*source: test file pointer before reading if the caller did not abort after an ASSERT failure in Begin() FillFrame() would segfault. Change-Id: I2d3f5a0918611bbd081be6f686dea19c56695073 --- test/i420_video_source.h | 3 ++- test/ivf_video_source.h | 3 ++- test/test_vector_test.cc | 1 + test/webm_video_source.h | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/test/i420_video_source.h b/test/i420_video_source.h index 0dc29319c..bcbe8a717 100644 --- a/test/i420_video_source.h +++ b/test/i420_video_source.h @@ -49,7 +49,7 @@ class I420VideoSource : public VideoSource { if (input_file_) fclose(input_file_); input_file_ = OpenTestDataFile(file_name_); - ASSERT_TRUE(input_file_) << "Input file open failed. Filename: " + ASSERT_TRUE(input_file_ != NULL) << "Input file open failed. Filename: " << file_name_; if (start_) { fseek(input_file_, raw_sz_ * start_, SEEK_SET); @@ -92,6 +92,7 @@ class I420VideoSource : public VideoSource { } virtual void FillFrame() { + ASSERT_TRUE(input_file_ != NULL); // Read a frame from input_file. if (fread(img_->img_data, raw_sz_, 1, input_file_) == 0) { limit_ = frame_; diff --git a/test/ivf_video_source.h b/test/ivf_video_source.h index 48c3a7dcd..88bc597ae 100644 --- a/test/ivf_video_source.h +++ b/test/ivf_video_source.h @@ -52,7 +52,7 @@ class IVFVideoSource : public CompressedVideoSource { virtual void Begin() { input_file_ = OpenTestDataFile(file_name_); - ASSERT_TRUE(input_file_) << "Input file open failed. Filename: " + ASSERT_TRUE(input_file_ != NULL) << "Input file open failed. Filename: " << file_name_; // Read file header @@ -72,6 +72,7 @@ class IVFVideoSource : public CompressedVideoSource { } void FillFrame() { + ASSERT_TRUE(input_file_ != NULL); uint8_t frame_hdr[kIvfFrameHdrSize]; // Check frame header and read a frame from input_file. if (fread(frame_hdr, 1, kIvfFrameHdrSize, input_file_) diff --git a/test/test_vector_test.cc b/test/test_vector_test.cc index 481860e44..fe9c402f5 100644 --- a/test/test_vector_test.cc +++ b/test/test_vector_test.cc @@ -149,6 +149,7 @@ class TestVectorTest : public ::libvpx_test::DecoderTest, virtual void DecompressedFrameHook(const vpx_image_t& img, const unsigned int frame_number) { + ASSERT_TRUE(md5_file_ != NULL); char expected_md5[33]; char junk[128]; diff --git a/test/webm_video_source.h b/test/webm_video_source.h index c7919a979..9fc854593 100644 --- a/test/webm_video_source.h +++ b/test/webm_video_source.h @@ -99,7 +99,7 @@ class WebMVideoSource : public CompressedVideoSource { virtual void Begin() { input_file_ = OpenTestDataFile(file_name_); - ASSERT_TRUE(input_file_) << "Input file open failed. Filename: " + ASSERT_TRUE(input_file_ != NULL) << "Input file open failed. Filename: " << file_name_; nestegg_io io = {nestegg_read_cb, nestegg_seek_cb, nestegg_tell_cb, @@ -130,6 +130,7 @@ class WebMVideoSource : public CompressedVideoSource { } void FillFrame() { + ASSERT_TRUE(input_file_ != NULL); if (chunk_ >= chunks_) { unsigned int track; -- 2.40.0