From: František Dvořák Date: Sat, 9 Feb 2013 23:07:37 +0000 (+0100) Subject: QA corner: better fix of leaked ulm. X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=8f7a8ec7fd89ff146d55a5ba7ebf00ff81a64d6d;p=jra1mw.git QA corner: better fix of leaked ulm. --- diff --git a/org.glite.lb.server/src/store.c.T b/org.glite.lb.server/src/store.c.T index a67435b..ac1b08b 100644 --- a/org.glite.lb.server/src/store.c.T +++ b/org.glite.lb.server/src/store.c.T @@ -496,11 +496,14 @@ static int store_flesh(edg_wll_Context ctx,edg_wll_Event *e,const char *ulm,char #endif char *stmt; - int err = 0; + int err = 0, local_ulm; assert(ulm || e); edg_wll_ResetError(ctx); - if (!ulm) ulm = edg_wll_UnparseEvent(ctx, e); + if (!ulm) { + ulm = edg_wll_UnparseEvent(ctx, e); + local_ulm = 1; + } if (!ulm) return edg_wll_Error(ctx, NULL, NULL); #ifndef LB_EVENTS_BLOB @@ -572,7 +575,6 @@ static int store_flesh(edg_wll_Context ctx,edg_wll_Event *e,const char *ulm,char free(stmt); } #else - if (!ulm) ulm = edg_wll_UnparseEvent(ctx, e); trio_asprintf(&stmt, "insert into events_flesh (jobid, event, ulm) values ('%|Ss', %d, '%|Ss')", jobid, no, ulm); glite_common_log_msg(LOG_CATEGORY_LB_SERVER_DB, LOG_PRIORITY_DEBUG, stmt); @@ -580,6 +582,8 @@ static int store_flesh(edg_wll_Context ctx,edg_wll_Event *e,const char *ulm,char free(stmt); #endif + if (local_ulm) free(ulm); + return err; }