From 0be5ff6006016f201442c8eaa2d68fac3ac41465 Mon Sep 17 00:00:00 2001 From: Mikko Rapeli Date: Fri, 10 Aug 2012 14:17:06 +0200 Subject: [PATCH] audioEnvelope.cpp: check for division by zero Fixes Coverity CID 709287: Division or modulo by zero (DIVIDE_BY_ZERO) Call to "this->loadEnvelope()" set "this->m_envelopeMax" to 0. 182 loadEnvelope(); ... Division by expression "this->m_envelopeMax" which may be zero has undefined behavior 189 fy = m_envelope[x]/double(m_envelopeMax) * img.height(); --- src/lib/audio/audioEnvelope.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/audio/audioEnvelope.cpp b/src/lib/audio/audioEnvelope.cpp index 00bda007..d4769593 100644 --- a/src/lib/audio/audioEnvelope.cpp +++ b/src/lib/audio/audioEnvelope.cpp @@ -184,6 +184,10 @@ QImage AudioEnvelope::drawEnvelope() QImage img(m_envelopeSize, 400, QImage::Format_ARGB32); img.fill(qRgb(255,255,255)); + + if (m_envelopeMax == 0) + return img; + double fy; for (int x = 0; x < img.width(); x++) { fy = m_envelope[x]/double(m_envelopeMax) * img.height(); -- 2.39.2