Skip to content

Commit 88ba2e8

Browse files
committed
Fix memory leak in power juice
Signed-off-by: falkTX <falktx@falktx.com>
1 parent a73b4cf commit 88ba2e8

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

‎plugins/PowerJuice/PowerJuicePlugin.cpp‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ START_NAMESPACE_DISTRHO
2626
PowerJuicePlugin::PowerJuicePlugin()
2727
: Plugin(paramCount, 1, 0) // 1 program, 0 states
2828
{
29+
std::memset(&RMSStack, 0, sizeof(RMSStack));
30+
std::memset(&lookaheadStack, 0, sizeof(lookaheadStack));
31+
2932
// set default values
3033
loadProgram(0);
3134

@@ -35,8 +38,8 @@ PowerJuicePlugin::PowerJuicePlugin()
3538

3639
PowerJuicePlugin::~PowerJuicePlugin()
3740
{
38-
free(lookaheadStack.data);
39-
free(RMSStack.data);
41+
std::free(RMSStack.data);
42+
std::free(lookaheadStack.data);
4043
}
4144

4245
// -----------------------------------------------------------------------
@@ -208,9 +211,11 @@ void PowerJuicePlugin::loadProgram(uint32_t index)
208211

209212

210213
kFloatRMSStackCount = 400.0f/44100.0f*getSampleRate();
214+
std::free(RMSStack.data);
211215
RMSStack.data = (float*) calloc(kFloatRMSStackCount, sizeof(float));
212216

213217
kFloatLookaheadStackCount = 800.0f/44100.0f*getSampleRate();
218+
std::free(lookaheadStack.data);
214219
lookaheadStack.data = (float*) calloc(kFloatLookaheadStackCount, sizeof(float));
215220

216221
refreshSkip= 300.0f/44100.0f*getSampleRate();

‎plugins/PowerJuiceX2/PowerJuiceX2Plugin.cpp‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ START_NAMESPACE_DISTRHO
2626
PowerJuiceX2Plugin::PowerJuiceX2Plugin()
2727
: Plugin(paramCount, 1, 0) // 1 program, 0 states
2828
{
29+
std::memset(&RMSStack, 0, sizeof(RMSStack));
30+
std::memset(&lookaheadStack, 0, sizeof(lookaheadStack));
31+
2932
// set default values
3033
loadProgram(0);
3134

@@ -35,8 +38,8 @@ PowerJuiceX2Plugin::PowerJuiceX2Plugin()
3538

3639
PowerJuiceX2Plugin::~PowerJuiceX2Plugin()
3740
{
38-
free(lookaheadStack.data);
39-
free(RMSStack.data);
41+
std::free(RMSStack.data);
42+
std::free(lookaheadStack.data);
4043
}
4144

4245
// -----------------------------------------------------------------------
@@ -208,9 +211,11 @@ void PowerJuiceX2Plugin::loadProgram(uint32_t index)
208211

209212

210213
kFloatRMSStackCount = 400.0f/44100.0f*getSampleRate();
214+
std::free(RMSStack.data);
211215
RMSStack.data = (float*) calloc(kFloatRMSStackCount, sizeof(float));
212216

213217
kFloatLookaheadStackCount = 800.0f/44100.0f*getSampleRate();
218+
std::free(lookaheadStack.data);
214219
lookaheadStack.data = (float*) calloc(kFloatLookaheadStackCount, sizeof(float));
215220

216221
refreshSkip= 300.0f/44100.0f*getSampleRate();

0 commit comments

Comments
 (0)