bugfix: dealing with potential buffer overflow issues

This commit is contained in:
Liam Kerr 2026-08-04 05:25:40 +01:00
parent 3907377afa
commit 2bd91c7d8e

View file

@ -8,6 +8,8 @@
START_NAMESPACE_DISTRHO
const int BUFFER_SIZE = 16384;
class SquidgeDistortion : public Plugin {
public:
@ -99,6 +101,13 @@ protected:
}
void run(const float **inputs, float **outputs, uint32_t frames) override {
if (frames > BUFFER_SIZE) {
for (uint32_t i = 0; i < frames; ++i) {
outputs[0][i] = inputs[0][i];
outputs[1][i] = inputs[1][i];
}
return;
}
gain_.processStereo(inputs[0], inputs[1], wetBufferL_, wetBufferR_, frames);
clipper_.processStereo(wetBufferL_, wetBufferR_, wetBufferL_, wetBufferR_,
frames);
@ -113,8 +122,8 @@ private:
Gain gain_;
Clipper clipper_;
Mixer<2> mixer_;
float wetBufferL_[4096];
float wetBufferR_[4096];
float wetBufferL_[BUFFER_SIZE];
float wetBufferR_[BUFFER_SIZE];
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SquidgeDistortion);
};