From 8f7a8ec7fd89ff146d55a5ba7ebf00ff81a64d6d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Sun, 10 Feb 2013 00:07:37 +0100 Subject: [PATCH] QA corner: better fix of leaked ulm. --- org.glite.lb.server/src/store.c.T | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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; } -- 1.8.2.3