summaryrefslogtreecommitdiff
path: root/src/test_libFLAC++
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2016-05-08 17:28:56 +1000
committerErik de Castro Lopo <erikd@mega-nerd.com>2016-05-08 17:29:00 +1000
commitbbf1e3eaef97743ec807970411b3b1dbeccda587 (patch)
tree81b2ba450c44df66787cdaa21c82352b2e11e43e /src/test_libFLAC++
parent94a61241b02064c7d9fe508f72a742f2a90b8492 (diff)
downloadflac-bbf1e3eaef97743ec807970411b3b1dbeccda587.tar.gz
test_libFLAC++: Fix memory leaks
Memory leaks found using `cppcheck`.
Diffstat (limited to 'src/test_libFLAC++')
-rw-r--r--src/test_libFLAC++/metadata_manip.cpp29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/test_libFLAC++/metadata_manip.cpp b/src/test_libFLAC++/metadata_manip.cpp
index 336fdd70..5a368cb9 100644
--- a/src/test_libFLAC++/metadata_manip.cpp
+++ b/src/test_libFLAC++/metadata_manip.cpp
@@ -921,17 +921,25 @@ static bool test_level_1_()
printf("creating PADDING block\n");
- if(0 == (padding = new FLAC::Metadata::Padding()))
+ if(0 == (padding = new FLAC::Metadata::Padding())) {
+ delete app;
return die_("new FLAC::Metadata::Padding()");
+ }
padding->set_length(20);
FLAC::Metadata::SimpleIterator iterator;
- if(!iterator.is_valid())
+ if(!iterator.is_valid()) {
+ delete app;
+ delete padding;
return die_("iterator.is_valid() returned false");
+ }
- if(!iterator.init(flacfilename(/*is_ogg=*/false), /*read_only=*/false, /*preserve_file_stats=*/false))
+ if(!iterator.init(flacfilename(/*is_ogg=*/false), /*read_only=*/false, /*preserve_file_stats=*/false)) {
+ delete app;
+ delete padding;
return die_("iterator.init() returned false");
+ }
our_current_position = 0;
printf("is writable = %u\n", (unsigned)iterator.is_writable());
@@ -939,17 +947,26 @@ static bool test_level_1_()
printf("[S]VP\ttry to write over STREAMINFO block...\n");
if(!iterator.set_block(app, false))
printf("\titerator.set_block() returned false like it should\n");
- else
+ else {
+ delete app;
+ delete padding;
return die_("iterator.set_block() returned true but shouldn't have");
+ }
printf("[S]VP\tnext\n");
- if(!iterator.next())
+ if(!iterator.next()) {
+ delete app;
+ delete padding;
return die_("iterator ended early\n");
+ }
our_current_position++;
printf("S[V]P\tnext\n");
- if(!iterator.next())
+ if(!iterator.next()) {
+ delete app;
+ delete padding;
return die_("iterator ended early\n");
+ }
our_current_position++;
printf("SV[P]\tinsert PADDING after, don't expand into padding\n");