diff --git a/inputsource.cpp b/inputsource.cpp index 68addc8..a1538f9 100644 --- a/inputsource.cpp +++ b/inputsource.cpp @@ -93,6 +93,10 @@ void InputSource::GetViewport(float *dest, int x, int y, int width, int height, fftwf_complex *sample_ptr = &m_data[y * GetFFTStride()]; for (int i = 0; i < height; i++) { + // Abort if sampling more data than is actually available + if (sample_ptr > m_data + (m_file_size/sizeof(fftwf_complex))) + break; + memcpy(m_fftw_in, sample_ptr, m_fft_size * sizeof(fftwf_complex)); // Apply window