]> git.sesse.net Git - kdenlive/commitdiff
audioEnvelope.cpp: check for division by zero
authorMikko Rapeli <mikko.rapeli@iki.fi>
Fri, 10 Aug 2012 12:17:06 +0000 (14:17 +0200)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 2 Sep 2012 09:40:49 +0000 (11:40 +0200)
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

index 00bda0078edacf25a0e2c746d01daf7763839947..d47695933f27ae096db05c464ee61b875240018b 100644 (file)
@@ -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();