diff --git a/srcs/JsonObject.cpp b/srcs/JsonObject.cpp index e9afea66..045d8866 100644 --- a/srcs/JsonObject.cpp +++ b/srcs/JsonObject.cpp @@ -75,8 +75,11 @@ JsonNode* JsonObject::getOrCreateNodeAt(char const* key) JsonBuffer* buffer = _node->content.asObject.buffer; JsonNode* newValueNode = buffer->createNode(JSON_UNDEFINED); + if (!newValueNode) return 0; JsonNode* newKeyNode = buffer->createNode(JSON_KEY); + if (!newKeyNode) return 0; + newKeyNode->content.asKey.key = key; newKeyNode->content.asKey.value = newValueNode; diff --git a/tests/JsonObjectSerializationTests.cpp b/tests/JsonObjectSerializationTests.cpp index a55fbb28..02e77103 100644 --- a/tests/JsonObjectSerializationTests.cpp +++ b/tests/JsonObjectSerializationTests.cpp @@ -23,7 +23,7 @@ protected: JsonObject object; private: - StaticJsonBuffer<42> json; + StaticJsonBuffer<5> json; }; TEST_F(JsonObjectSerializationTests, EmptyObject) @@ -80,7 +80,7 @@ TEST_F(JsonObjectSerializationTests, ReplaceExistingKey) outputMustBe("{\"key\":\"value2\"}"); } -/* + TEST_F(JsonObjectSerializationTests, OneStringOverCapacity) { object["key1"] = "value1"; @@ -89,7 +89,7 @@ TEST_F(JsonObjectSerializationTests, OneStringOverCapacity) outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}"); } - +/* TEST_F(JsonObjectSerializationTests, OneInteger) { object["key"] = 1;