diff --git a/wave_reader.cpp b/wave_reader.cpp index e5f3bd5..c97b532 100644 --- a/wave_reader.cpp +++ b/wave_reader.cpp @@ -170,8 +170,8 @@ vector* WaveReader::readData(unsigned bytesToRead, bool &forceStop) oss << "Error while reading " << getFilename() << ", file is corrupted"; throw ErrorReporter(oss.str()); } - if ((bytes == 0) && (fileDescriptor != STDIN_FILENO)) { - data->resize(bytesRead); + if ((bytes < bytesToRead - bytesRead) && (fileDescriptor != STDIN_FILENO)) { + data->resize(bytes); break; } if (bytes > 0) {