From 60af2a96f9bd52e8ddabd567b26b154b8f42a0fe Mon Sep 17 00:00:00 2001 From: oparviai Date: Wed, 4 Apr 2012 19:21:42 +0000 Subject: [PATCH] Fix integer overflow error in getLengthMS --- source/SoundStretch/WavFile.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp index 6478800..ed5791f 100644 --- a/source/SoundStretch/WavFile.cpp +++ b/source/SoundStretch/WavFile.cpp @@ -530,14 +530,13 @@ uint WavInFile::getNumSamples() const uint WavInFile::getLengthMS() const { - uint numSamples; - uint sampleRate; + double numSamples; + double sampleRate; - numSamples = getNumSamples(); - sampleRate = getSampleRate(); + numSamples = (double)getNumSamples(); + sampleRate = (double)getSampleRate(); - assert(numSamples < UINT_MAX / 1000U); - return (1000U * numSamples / sampleRate); + return (uint)(1000.0 * numSamples / sampleRate + 0.5); }