From 4a37aa0585d518982df48c4eaab21dafe102fb97 Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 26 Jun 2014 12:44:52 +0100 Subject: [PATCH] Added a few extra assertions to AudioSampleBuffer --- .../juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp b/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp index 197aca87a9..15b59dafce 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp +++ b/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp @@ -91,7 +91,7 @@ AudioSampleBuffer::AudioSampleBuffer (float* const* dataToReferTo, allocatedBytes (0) { jassert (dataToReferTo != nullptr); - jassert (numChans >= 0); + jassert (numChans >= 0 && numSamples >= 0); allocateChannels (dataToReferTo, 0); } @@ -105,7 +105,7 @@ AudioSampleBuffer::AudioSampleBuffer (float* const* dataToReferTo, isClear (false) { jassert (dataToReferTo != nullptr); - jassert (numChans >= 0); + jassert (numChans >= 0 && startSample >= 0 && numSamples >= 0); allocateChannels (dataToReferTo, startSample); } @@ -114,7 +114,7 @@ void AudioSampleBuffer::setDataToReferTo (float** dataToReferTo, const int newNumSamples) noexcept { jassert (dataToReferTo != nullptr); - jassert (newNumChannels >= 0); + jassert (newNumChannels >= 0 && newNumSamples >= 0); allocatedBytes = 0; allocatedData.free(); @@ -128,6 +128,8 @@ void AudioSampleBuffer::setDataToReferTo (float** dataToReferTo, void AudioSampleBuffer::allocateChannels (float* const* const dataToReferTo, int offset) { + jassert (offset >= 0); + // (try to avoid doing a malloc here, as that'll blow up things like Pro-Tools) if (numChannels < (int) numElementsInArray (preallocatedChannelSpace)) {