summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyeonghun Lee <kh9090.lee@samsung.com>2017-02-08 13:43:38 +0900
committerKyeonghun Lee <kh9090.lee@samsung.com>2017-02-08 13:43:38 +0900
commite2f132e9893a27f23a299344237d105a7975fc69 (patch)
treeaa09a77ccc16713ff96b11f5e9cf2affb502ddc5
parent65c2adb74e594f3c1de66a4fbde05df4f8ebc5ba (diff)
downloadmsg-service-e2f132e9893a27f23a299344237d105a7975fc69.tar.gz
msg-service-e2f132e9893a27f23a299344237d105a7975fc69.tar.bz2
msg-service-e2f132e9893a27f23a299344237d105a7975fc69.zip
Change-Id: Ib211a511d3eb6bebb0165e1206821f28dc090e8c Signed-off-by: Kyeonghun Lee <kh9090.lee@samsung.com>
-rwxr-xr-xutils/MsgJsonParser.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/utils/MsgJsonParser.cpp b/utils/MsgJsonParser.cpp
index 90f2baf..49d5fdd 100755
--- a/utils/MsgJsonParser.cpp
+++ b/utils/MsgJsonParser.cpp
@@ -44,7 +44,11 @@ msg_json_gen_object* msg_json_gen_new_obj(msg_json_gen_type type)
new_obj = (msg_json_gen_object *)g_try_malloc0(sizeof(msg_json_gen_object));
if (new_obj == NULL) {
- g_object_unref(json_value);
+ if (type == MSG_JSON_GEN_OBJECT)
+ g_object_unref(json_value);
+ else if (type == MSG_JSON_GEN_ARRAY)
+ g_array_unref((GArray *)json_value);
+
return NULL;
}
@@ -61,7 +65,11 @@ void msg_json_gen_free_obj(msg_json_gen_object *obj)
return;
}
if (obj->value != NULL) {
- g_object_unref(obj->value);
+ if (obj->type == MSG_JSON_GEN_OBJECT)
+ g_object_unref(obj->value);
+ else if (obj->type == MSG_JSON_GEN_ARRAY)
+ g_array_unref((GArray *)obj->value);
+
obj->value = NULL;
}
g_free(obj);