BIND 10 master, updated. 2c936393a16d79fa3d4bbbdacc66884f7d8d3cb9 Merge branch 'trac1072'
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Jul 4 15:32:49 UTC 2011
The branch, master has been updated
via 2c936393a16d79fa3d4bbbdacc66884f7d8d3cb9 (commit)
via ec45081d781ae19de834b11e000acc35415a8f30 (commit)
via b9ad6d4babd3e10f1c13140e53d60181681a5def (commit)
from 3383b56081364d68de8c29fb34698a7651c50e05 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2c936393a16d79fa3d4bbbdacc66884f7d8d3cb9
Merge: 3383b56081364d68de8c29fb34698a7651c50e05 ec45081d781ae19de834b11e000acc35415a8f30
Author: Jelte Jansen <jelte at isc.org>
Date: Mon Jul 4 17:22:47 2011 +0200
Merge branch 'trac1072'
-----------------------------------------------------------------------
Summary of changes:
src/lib/cc/data.cc | 4 +++-
src/lib/cc/tests/data_unittests.cc | 15 +++++++++++++++
2 files changed, 18 insertions(+), 1 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/cc/data.cc b/src/lib/cc/data.cc
index 932bef4..a455d43 100644
--- a/src/lib/cc/data.cc
+++ b/src/lib/cc/data.cc
@@ -447,7 +447,9 @@ from_stringstream_map(std::istream &in, const std::string& file, int& line,
ElementPtr map = Element::createMap();
skip_chars(in, " \t\n", line, pos);
char c = in.peek();
- if (c == '}') {
+ if (c == EOF) {
+ throwJSONError(std::string("Unterminated map, <string> or } expected"), file, line, pos);
+ } else if (c == '}') {
// empty map, skip closing curly
c = in.get();
} else {
diff --git a/src/lib/cc/tests/data_unittests.cc b/src/lib/cc/tests/data_unittests.cc
index 2536682..53d5ab8 100644
--- a/src/lib/cc/tests/data_unittests.cc
+++ b/src/lib/cc/tests/data_unittests.cc
@@ -396,9 +396,24 @@ TEST(Element, to_and_from_wire) {
EXPECT_EQ("1", Element::fromWire(ss, 1)->str());
// Some malformed JSON input
+ EXPECT_THROW(Element::fromJSON("{ "), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\" "), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\": "), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\": \"b\""), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\": {"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\": {}"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\": []"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\": [ }"), isc::data::JSONError);
EXPECT_THROW(Element::fromJSON("{\":"), isc::data::JSONError);
EXPECT_THROW(Element::fromJSON("]"), isc::data::JSONError);
EXPECT_THROW(Element::fromJSON("[ 1, 2, }"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("[ 1, 2, {}"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("[ 1, 2, { ]"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("[ "), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{{}}"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{[]}"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("{ \"a\", \"b\" }"), isc::data::JSONError);
+ EXPECT_THROW(Element::fromJSON("[ \"a\": \"b\" ]"), isc::data::JSONError);
}
ConstElementPtr
More information about the bind10-changes
mailing list