summaryrefslogtreecommitdiffstats
path: root/base/values.cc
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 08:03:43 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 08:03:43 +0000
commitfeb0d6b1798a0103c4a0051e1ce0323fac738b33 (patch)
tree2b02e94572d8dcc01eb4fff39862bc6bb6de2816 /base/values.cc
parent5217202451a2dbf7ba6aa62967fbe5596ce067f2 (diff)
downloadchromium_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.cc3
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() {