mkvparser:Parse: s/FLT_MIN/-FLT_MAX/

FLT_MIN is the smallest finite value (numeric_limits::min()) -FLT_MAX is
the correct for the most negative (numeric_limits::lowest())

http://en.cppreference.com/w/cpp/types/numeric_limits

BUG=b/36255773
BUG=webm:1381

Change-Id: Iaaff611acffc3df28fef12af81ac5299791f0148
This commit is contained in:
James Zern 2017-03-23 15:40:33 -07:00
parent 35a3c88728
commit 2cef4d51a2

View File

@ -4992,14 +4992,14 @@ bool PrimaryChromaticity::Parse(IMkvReader* reader, long long read_pos,
const long long parse_status =
UnserializeFloat(reader, read_pos, value_size, parser_value);
if (parse_status < 0 || parser_value < FLT_MIN || parser_value > FLT_MAX)
// Valid range is [0, 1]. Make sure the double is representable as a float
// before casting.
if (parse_status < 0 || parser_value < 0.0 || parser_value > 1.0 ||
(parser_value > 0.0 && parser_value < FLT_MIN))
return false;
*value = static_cast<float>(parser_value);
if (*value < 0.0 || *value > 1.0)
return false;
return true;
}
@ -5230,7 +5230,9 @@ bool Projection::Parse(IMkvReader* reader, long long start, long long size,
double value = 0;
const long long value_parse_status =
UnserializeFloat(reader, read_pos, child_size, value);
if (value_parse_status < 0 || value < FLT_MIN || value > FLT_MAX) {
// Make sure value is representable as a float before casting.
if (value_parse_status < 0 || value < -FLT_MAX || value > FLT_MAX ||
(value > 0.0 && value < FLT_MIN)) {
return false;
}