[svn] commit: r2353 - in /branches/trac172/src/lib/cc: data.cc data_unittests.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Jun 30 16:34:37 UTC 2010


Author: jelte
Date: Wed Jun 30 16:34:37 2010
New Revision: 2353

Log:
also check for -HUGE_VAL after strtod (+test of course)

Modified:
    branches/trac172/src/lib/cc/data.cc
    branches/trac172/src/lib/cc/data_unittests.cc

Modified: branches/trac172/src/lib/cc/data.cc
==============================================================================
--- branches/trac172/src/lib/cc/data.cc (original)
+++ branches/trac172/src/lib/cc/data.cc Wed Jun 30 16:34:37 2010
@@ -374,7 +374,7 @@
         if (*endptr != '\0') {
             isc_throw(JSONError, std::string("Bad number: ") + number);
         } else {
-            if (d == HUGE_VAL) {
+            if (d == HUGE_VAL || d == -HUGE_VAL) {
                 isc_throw(JSONError, std::string("Number overflow: ") + number);
             }
         }

Modified: branches/trac172/src/lib/cc/data_unittests.cc
==============================================================================
--- branches/trac172/src/lib/cc/data_unittests.cc (original)
+++ branches/trac172/src/lib/cc/data_unittests.cc Wed Jun 30 16:34:37 2010
@@ -155,6 +155,7 @@
     // number overflows
     EXPECT_THROW(Element::fromJSON("12345678901234567890")->str(), JSONError);
     EXPECT_THROW(Element::fromJSON("1.1e12345678901234567890")->str(), JSONError);
+    EXPECT_THROW(Element::fromJSON("-1.1e12345678901234567890")->str(), JSONError);
     EXPECT_THROW(Element::fromJSON("1e12345678901234567890")->str(), JSONError);
     EXPECT_THROW(Element::fromJSON("1e50000")->str(), JSONError);
 




More information about the bind10-changes mailing list