From: František Dvořák Date: Fri, 20 Aug 2010 17:06:18 +0000 (+0000) Subject: Memleaks and uninitialized memory fixes. X-Git-Tag: merge_21_src~3 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=e2a86090b10086d1be6a4d94c21195651bf17b70;p=jra1mw.git Memleaks and uninitialized memory fixes. --- diff --git a/org.glite.lb.client/src/notify.c b/org.glite.lb.client/src/notify.c index 0d1856a..7757a99 100644 --- a/org.glite.lb.client/src/notify.c +++ b/org.glite.lb.client/src/notify.c @@ -375,9 +375,6 @@ int main(int argc,char **argv) if (tout.tv_sec < 0) tout.tv_sec = 0; tout.tv_usec = 0; - edg_wll_FreeStatus(&stat); - stat.state = EDG_WLL_JOB_UNDEF; - if ( (err = edg_wll_NotifReceive(ctx, sock, &tout, &stat, &recv_nid)) ) { edg_wll_NotifIdFree(recv_nid); recv_nid = NULL; @@ -385,8 +382,10 @@ int main(int argc,char **argv) if (err != ETIMEDOUT) goto receive_err; } else glite_lb_print_stat_fields(fields,&stat); + edg_wll_FreeStatus(&stat); + stat.state = EDG_WLL_JOB_UNDEF; - if ((now = time(NULL)) >= client_tout) return 0; + if ((now = time(NULL)) >= client_tout) goto cleanup; if (refresh && now >= do_refresh) { valid = now + opt_valid; @@ -533,13 +532,12 @@ cleanup: free(conditions); } - edg_wll_NotifCloseFd(ctx); - if (edg_wll_Error(ctx,&errt,&errd)) fprintf(stderr, "%s: %s (%s)\n", me, errt, errd); + edg_wll_NotifCloseFd(ctx); edg_wll_FreeContext(ctx); + edg_wll_poolFree(); - return 0; } diff --git a/org.glite.lb.server/src/il_notification.c b/org.glite.lb.server/src/il_notification.c index ff44b33..9aaca27 100644 --- a/org.glite.lb.server/src/il_notification.c +++ b/org.glite.lb.server/src/il_notification.c @@ -123,7 +123,7 @@ edg_wll_NotifSend(edg_wll_Context context, long filepos; char *ulm_data, *reg_id_s, - *event_file; + *event_file = NULL; if((ret=notif_create_ulm(context, reg_id, @@ -158,8 +158,9 @@ edg_wll_NotifSend(edg_wll_Context context, ret = 0; out: - if(ulm_data) free(ulm_data); - if(reg_id_s) free(reg_id_s); + free(event_file); + free(ulm_data); + free(reg_id_s); if(ret) edg_wll_UpdateError(context, ret, "edg_wll_NotifSend()"); return(ret); } diff --git a/org.glite.lb.server/src/notif_match.c b/org.glite.lb.server/src/notif_match.c index dd6f1bd..a8fe6fa 100644 --- a/org.glite.lb.server/src/notif_match.c +++ b/org.glite.lb.server/src/notif_match.c @@ -225,9 +225,9 @@ static int notif_match_conditions(edg_wll_Context ctx,const edg_wll_JobStat *old */ static int notif_check_acl(edg_wll_Context ctx,const edg_wll_JobStat *stat,const char *recip, int *authz_flags) { - edg_wll_Acl acl = calloc(1,sizeof *acl); int ret; struct _edg_wll_GssPrincipal_data princ; + edg_wll_Acl acl = NULL; memset(&princ, 0, sizeof(princ)); *authz_flags = 0; @@ -240,6 +240,7 @@ static int notif_check_acl(edg_wll_Context ctx,const edg_wll_JobStat *stat,const return 1; if (stat->acl) { + acl = calloc(1,sizeof *acl); ret = edg_wll_DecodeACL(stat->acl,&acl->value); if (ret) { edg_wll_FreeAcl(acl); diff --git a/org.glite.lbjp-common.server-bones/src/srvbones.c b/org.glite.lbjp-common.server-bones/src/srvbones.c index e73f97d..dd257cd 100644 --- a/org.glite.lbjp-common.server-bones/src/srvbones.c +++ b/org.glite.lbjp-common.server-bones/src/srvbones.c @@ -719,6 +719,7 @@ static int do_sendmsg(int to_sock, int sock, unsigned long clnt_dispatched, int sendiov.iov_base = sendbuf; sendiov.iov_len = sizeof(sendbuf); + memset(buf, 0, sizeof(buf)); msg.msg_control = buf; msg.msg_controllen = sizeof buf;