From c0d2c9852bf452b85fdc98755f02ed13b4dc7cad Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 24 Aug 2015 16:48:22 -0700 Subject: [PATCH] UnserializeFloat: check result for Inf/NaN fail in either case BUG=23488728 Change-Id: I1e65f30ff1cf857a5d1eb4bdedc3f842423cf15f --- mkvparser.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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; }