From ad6759e9933131d9243cbae1934069acfecb61eb Mon Sep 17 00:00:00 2001 From: Philpax Date: Fri, 10 Jul 2015 13:42:29 +1000 Subject: [PATCH] Fixed #12 - no longer segfaults from small file sizes --- inputsource.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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