Skip to content

Commit 55e2fd6

Browse files
committed
Ensure safe cleanup of arrays
Signed-off-by: TymianekPL <tymi@tymi.org>
1 parent f280e77 commit 55e2fd6

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

cppjson/src/object.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,16 @@ void cppjson::JsonObject::Destroy(void)
5050
{
5151
using std::string;
5252
using cppjson::Object;
53+
using cppjson::Array;
5354

5455
switch (std::exchange(this->_dataType, JsonType::Null))
5556
{
5657
case JsonType::Null:
5758
case JsonType::Number:
5859
case JsonType::Bool: break;
59-
case JsonType::String: DangerousAs<std::string>().~string(); break;
60-
case JsonType::Object: DangerousAs<cppjson::Object>().~Object(); break;
61-
// TODO: Array
60+
case JsonType::String: return DangerousAs<std::string>().~string();
61+
case JsonType::Object: return DangerousAs<cppjson::Object>().~Object();
62+
case JsonType::Array: return DangerousAs<cppjson::Array>().~Array();
6263
}
6364
}
6465

0 commit comments

Comments
 (0)