From: Sebastian Dransfeld Date: Sat, 7 Dec 2013 13:07:29 +0000 (+0100) Subject: eldbus: create object when needed X-Git-Tag: v1.9.0-alpha1~506 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=63f824c6599fd58fd1427a68569440b37f03769f;p=platform%2Fupstream%2Fefl.git eldbus: create object when needed We allocate the strbuf at the beginning of the function, but do several return checks after this which does not free the strbuf before return, and we don't use the strbuf. So create the strbuf object after checks, just before we need it. Fixes CID 1039287 --- diff --git a/src/bin/eldbus/parser.c b/src/bin/eldbus/parser.c index 73e4f41..a74ff07 100644 --- a/src/bin/eldbus/parser.c +++ b/src/bin/eldbus/parser.c @@ -199,7 +199,7 @@ open_signal(const char *content, unsigned length, Eina_Bool is_open_empty) Eina_Bool r; char *tmp; int i; - Eina_Strbuf *buf = eina_strbuf_new(); + Eina_Strbuf *buf; d_signal = signal_new(iface); EINA_SAFETY_ON_NULL_RETURN_VAL(d_signal, EINA_FALSE); @@ -213,6 +213,7 @@ open_signal(const char *content, unsigned length, Eina_Bool is_open_empty) return EINA_FALSE; } + buf = eina_strbuf_new(); tmp = dbus_name_to_c(d_signal->name); d_signal->c_name = string_build("%s_%s", iface->c_name, tmp); free(tmp);