From 79009e62c10bab0869d61edfaa6c813f03f027bc Mon Sep 17 00:00:00 2001 From: Petri Lehtinen Date: Thu, 15 Oct 2009 20:54:32 +0300 Subject: json_dumps: Close the strbuffer if dumping fails --- src/dump.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/dump.c b/src/dump.c index dad64f8..1ab1140 100644 --- a/src/dump.c +++ b/src/dump.c @@ -242,11 +242,15 @@ char *json_dumps(const json_t *json, unsigned long flags) if(strbuffer_init(&strbuff)) return NULL; - if(do_dump(json, flags, 0, dump_to_strbuffer, (void *)&strbuff)) + if(do_dump(json, flags, 0, dump_to_strbuffer, (void *)&strbuff)) { + strbuffer_close(&strbuff); return NULL; + } - if(dump_to_strbuffer("\n", 1, (void *)&strbuff)) + if(dump_to_strbuffer("\n", 1, (void *)&strbuff)) { + strbuffer_close(&strbuff); return NULL; + } result = strdup(strbuffer_value(&strbuff)); strbuffer_close(&strbuff); -- cgit v1.1