Using reserve, buffer size is not updated. Since data is directly inserted and not using push_pack, this can lead to a container overflow.
@@ -93,7 +93,7 @@ namespace pmx
{
return std::string();
}
- buffer.reserve(size);
+ buffer.resize(size);
stream->read((char*) buffer.data(), size);
if (encoding == 0)