diff --git a/src/mkv_wrap.cpp b/src/mkv_wrap.cpp index 05b1051a6..835762f1e 100644 --- a/src/mkv_wrap.cpp +++ b/src/mkv_wrap.cpp @@ -67,6 +67,10 @@ struct MkvStdIO final : InputStream { if (pos == self->file.size()) return 0; + auto remaining = self->file.size() - pos; + if (remaining < INT_MAX) + count = std::min(static_cast(remaining), count); + try { memcpy(buffer, self->file.read(pos, count), count); }