]> granicus.if.org Git - taglib/commitdiff
Explicitly check for -1 in WavPack length
authorLukáš Lalinský <lalinsky@gmail.com>
Sat, 27 Nov 2010 07:32:16 +0000 (07:32 +0000)
committerLukáš Lalinský <lalinsky@gmail.com>
Sat, 27 Nov 2010 07:32:16 +0000 (07:32 +0000)
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201207 283d02a7-25f6-0310-bc7c-ecb5cbfe19da

taglib/wavpack/wavpackproperties.cpp

index ec7a9bf6061f64dae0f412e0b508fdc660599fd0..697f223a6803470c352aa5f94a441eccef94488e 100644 (file)
@@ -136,6 +136,9 @@ void WavPack::Properties::read()
   d->channels = (flags & MONO_FLAG) ? 1 : 2;
 
   unsigned int samples = d->data.mid(12, 4).toUInt(false);
+  if (samples == ~0u) {
+    samples = 0;
+  }
   d->length = d->sampleRate > 0 ? (samples + (d->sampleRate / 2)) / d->sampleRate : 0;
 
   d->bitrate = d->length > 0 ? ((d->streamLength * 8L) / d->length) / 1000 : 0;