From 8593d09c80af212846980c4cd86fda0fa3eb666d Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 5 Sep 2018 22:03:13 -0700 Subject: [PATCH] ircd::json: Enforce string type for member key on constructions. --- include/ircd/json/member.h | 4 ++-- ircd/json.cc | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/ircd/json/member.h b/include/ircd/json/member.h index b5477eb6f..541762aba 100644 --- a/include/ircd/json/member.h +++ b/include/ircd/json/member.h @@ -77,7 +77,7 @@ inline ircd::json::member::member(const object::member &m) :std::pair { - m.first, value { m.second, type(m.second) } + { m.first, json::STRING }, value { m.second, type(m.second) } } {} @@ -85,7 +85,7 @@ inline ircd::json::member::member(const string_view &k) :std::pair { - k, string_view{} + { k, json::STRING }, string_view{} } {} diff --git a/ircd/json.cc b/ircd/json.cc index 31ae53777..d1e1968c0 100644 --- a/ircd/json.cc +++ b/ircd/json.cc @@ -1398,7 +1398,8 @@ ircd::json::stringify(mutable_buffer &buf, size_t ircd::json::serialized(const object::member &member) { - return serialized(member.first) + 1 + serialized(member.second); + const json::value key{member.first, json::STRING}; + return serialized(key) + 1 + serialized(member.second); } std::ostream &