diff --git a/mkvparser.cpp b/mkvparser.cpp index 4bab5f5..157ead6 100644 --- a/mkvparser.cpp +++ b/mkvparser.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #ifdef _MSC_VER // Disable MSVC warnings that suggest making code non-portable. @@ -206,6 +207,9 @@ long mkvparser::UnserializeFloat(IMkvReader* pReader, long long pos, result = d; } + if (std::isinf(result) || std::isnan(result)) + return E_FILE_FORMAT_INVALID; + return 0; }