gtreshchev / RuntimeAudioImporter

Runtime Audio Importer plugin for Unreal Engine. Importing audio of various formats at runtime.
MIT License
336 stars 69 forks source link

Memory Leak in VorbisTranscoder::Decode() @269 #27

Closed fishcatcher closed 2 years ago

fishcatcher commented 2 years ago

Hi,

TempFloatBuffer doesn't need to be allocated here at all, it's assigned without being used in the subsequence function. Simply setting it to nullptr should fix it.

    // Transcoding int16 to float format
    {
        float* TempFloatBuffer = static_cast<float*>(FMemory::Malloc(DecodedData.PCMInfo.PCMNumOfFrames * NumOfChannels * 2 * sizeof(float)));
        int32 TempFloatSize;

        RAWTranscoder::TranscodeRAWData<int16, float>(Int16RAWBuffer, TempPCMDataSize, TempFloatBuffer, TempFloatSize);
        DecodedData.PCMInfo.PCMData = FBulkDataBuffer<uint8>(reinterpret_cast<uint8*>(TempFloatBuffer), TempFloatSize);
    }
gtreshchev commented 2 years ago

Hi. Thanks a lot for letting me know! Will be fixed soon.

gtreshchev commented 2 years ago

Fixed in 5b6d33202066e1b34c195c25cb1bd7ea23e0611c.