diff --git a/src/dwarfs/categorizer/pcmaudio_categorizer.cpp b/src/dwarfs/categorizer/pcmaudio_categorizer.cpp index ae7df3a1..bc0cd1eb 100644 --- a/src/dwarfs/categorizer/pcmaudio_categorizer.cpp +++ b/src/dwarfs/categorizer/pcmaudio_categorizer.cpp @@ -316,12 +316,13 @@ class iff_parser final { c.reset(); return c; } + pos_ += c->header.size; + c->header.size -= sizeof(ChunkHeaderType); } else { pos_ += sizeof(ChunkHeaderType); + pos_ += c->header.size; } - pos_ += c->header.size; - if (pos_ > data_.size()) { LOG_WARN << "[" << name_ << "] " << path_ << ": unexpected end of file (pos=" << pos_