diff options
author | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 08:03:43 +0000 |
---|---|---|
committer | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 08:03:43 +0000 |
commit | feb0d6b1798a0103c4a0051e1ce0323fac738b33 (patch) | |
tree | 2b02e94572d8dcc01eb4fff39862bc6bb6de2816 /base/values.cc | |
parent | 5217202451a2dbf7ba6aa62967fbe5596ce067f2 (diff) | |
download | chromium_src-feb0d6b1798a0103c4a0051e1ce0323fac738b33.zip chromium_src-feb0d6b1798a0103c4a0051e1ce0323fac738b33.tar.gz chromium_src-feb0d6b1798a0103c4a0051e1ce0323fac738b33.tar.bz2 |
base: Add DCHECK that double Values are finite.
JSON doesn't support NaN or positive/negative infinity. I'm
hoping that this DCHECK will slightly increase the odds that
bugs are caught before they start corrupting pref files.
BUG=73856
TEST=none
Review URL: http://codereview.chromium.org/7646032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97111 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/values.cc')
-rw-r--r-- | base/values.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/base/values.cc b/base/values.cc index 7a364bd..d3f0f92 100644 --- a/base/values.cc +++ b/base/values.cc @@ -4,6 +4,7 @@ #include "base/values.h" +#include "base/float_util.h" #include "base/logging.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" @@ -160,6 +161,8 @@ FundamentalValue::FundamentalValue(int in_value) FundamentalValue::FundamentalValue(double in_value) : Value(TYPE_DOUBLE), double_value_(in_value) { + // JSON doesn't support NaN or positive or negative infinity. + DCHECK(IsFinite(in_value)); } FundamentalValue::~FundamentalValue() { |