diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-02-08 18:26:50 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-02-08 18:26:50 +0000 |
| commit | 1022ce41412013512154d2e3530b7cd7ada20d80 (patch) | |
| tree | 2b710291c7c0804f18905bdbd1cb31fd8e7a3264 | |
| parent | c1cbbfe2731fccce5d89221045c04823c7bdab81 (diff) | |
Fix memory leak in test.
| -rw-r--r-- | test/test.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/test/test.cc b/test/test.cc index 3d58b0628..67d6f2bd2 100644 --- a/test/test.cc +++ b/test/test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,6 +47,7 @@ using std::cout; using std::cerr; using std::list; using boost::shared_ptr; +using boost::scoped_array; boost::filesystem::path private_data = boost::filesystem::path ("..") / boost::filesystem::path ("dcpomatic-test-private"); @@ -130,15 +131,15 @@ check_audio_file (boost::filesystem::path ref, boost::filesystem::path check) /* buffer_size is in frames */ sf_count_t const buffer_size = 65536 * ref_info.channels; - int32_t* ref_buffer = new int32_t[buffer_size]; - int32_t* check_buffer = new int32_t[buffer_size]; + scoped_array<int32_t> ref_buffer (new int32_t[buffer_size]); + scoped_array<int32_t> check_buffer (new int32_t[buffer_size]); sf_count_t N = ref_info.frames; while (N) { sf_count_t this_time = min (buffer_size, N); - sf_count_t r = sf_readf_int (ref_file, ref_buffer, this_time); + sf_count_t r = sf_readf_int (ref_file, ref_buffer.get(), this_time); BOOST_CHECK_EQUAL (r, this_time); - r = sf_readf_int (check_file, check_buffer, this_time); + r = sf_readf_int (check_file, check_buffer.get(), this_time); BOOST_CHECK_EQUAL (r, this_time); for (sf_count_t i = 0; i < this_time; ++i) { |
