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.
This commit is contained in:
Pokechu22
2023-02-15 21:17:41 -08:00
parent 19bf13d3bb
commit a7026ca6d3
2 changed files with 3 additions and 5 deletions

View File

@ -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,