diff --git a/atom/common/native_mate_converters/v8_value_converter.cc b/atom/common/native_mate_converters/v8_value_converter.cc index 72c59582794e..b4935b5e3ff3 100644 --- a/atom/common/native_mate_converters/v8_value_converter.cc +++ b/atom/common/native_mate_converters/v8_value_converter.cc @@ -320,8 +320,12 @@ base::Value* V8ValueConverter::FromV8ValueImpl( if (val->IsInt32()) return new base::Value(val->ToInt32()->Value()); - if (val->IsNumber()) - return new base::Value(val->ToNumber()->Value()); + if (val->IsNumber()) { + double val_as_double = val->ToNumber()->Value(); + if (!std::isfinite(val_as_double)) + return nullptr; + return new base::Value(val_as_double); + } if (val->IsString()) { v8::String::Utf8Value utf8(val->ToString());