summaryrefslogtreecommitdiff
path: root/Externals/FreeSurround/source/FreeSurroundDecoder.cpp
diff options
context:
space:
mode:
authorPokechu22 <Pokechu022@gmail.com>2023-02-15 21:17:41 -0800
committerPokechu22 <Pokechu022@gmail.com>2023-02-15 21:56:49 -0800
commita7026ca6d37a6ab63c8652fdcc538beb60240b10 (patch)
tree2204077f33e25355ae4f21a141bef69bde48f714 /Externals/FreeSurround/source/FreeSurroundDecoder.cpp
parent19bf13d3bb2c02f00c1fb01da6f9c6e381a087e4 (diff)
Externals/FreeSurround: Fix pointer created through new[] being freed via delete
Doing so is not allowed (presumably because compilers are allowed to use a different algorithm for allocating between the two/store extra data such as the length of the array before the pointer). This bug existed in the original implementation at https://web.archive.org/web/20140708092159/http://www.hydrogenaud.io/forums/index.php?showtopic=52235 and causes Valgrind to emit a warning. Note that this ended up happening even if DSPLLE and the DPL decoder are not enabled in Dolphin.
Diffstat (limited to 'Externals/FreeSurround/source/FreeSurroundDecoder.cpp')
-rw-r--r--Externals/FreeSurround/source/FreeSurroundDecoder.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/Externals/FreeSurround/source/FreeSurroundDecoder.cpp b/Externals/FreeSurround/source/FreeSurroundDecoder.cpp
index b65734a5cb..10b45ff753 100644
--- a/Externals/FreeSurround/source/FreeSurroundDecoder.cpp
+++ b/Externals/FreeSurround/source/FreeSurroundDecoder.cpp
@@ -31,10 +31,8 @@ DPL2FSDecoder::DPL2FSDecoder() {
}
DPL2FSDecoder::~DPL2FSDecoder() {
-#pragma warning(suppress : 4150)
- delete forward;
-#pragma warning(suppress : 4150)
- delete inverse;
+ kiss_fftr_free(forward);
+ kiss_fftr_free(inverse);
}
void DPL2FSDecoder::Init(channel_setup chsetup, unsigned int blsize,