Check for invalid chunk size in WAV64

This commit is contained in:
Marcus Holland-Moritz 2023-07-19 01:48:16 +02:00
parent 99adfdbf22
commit 2544195abf

View File

@ -240,7 +240,14 @@ class iff_parser final {
} }
} }
if constexpr (!SizeIncludesHeader) { if constexpr (SizeIncludesHeader) {
if (c->header.size < sizeof(ChunkHeaderType)) {
LOG_WARN << "[" << name_ << "] " << path_
<< ": invalid chunk size: " << c->header.size;
c.reset();
return c;
}
} else {
pos_ += sizeof(ChunkHeaderType); pos_ += sizeof(ChunkHeaderType);
} }
@ -252,6 +259,7 @@ class iff_parser final {
<< ", hdr.size=" << c->header.size << ", end=" << data_.size() << ", hdr.size=" << c->header.size << ", end=" << data_.size()
<< ")"; << ")";
c.reset(); c.reset();
return c;
} }
LOG_TRACE << "[" << name_ << "] " << path_ << ": `" << c->fourcc() LOG_TRACE << "[" << name_ << "] " << path_ << ": `" << c->fourcc()