From: Michal Voců Date: Mon, 7 Jun 2010 11:16:03 +0000 (+0000) Subject: added fix for SB#53093, truncate file to original size in case of partial or failed... X-Git-Tag: glite-security-gsoap-plugin_R_2_1_2_1~25 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=a26fe844d36ac47fb83ebbaf353c475244d6c67d;p=jra1mw.git added fix for SB#53093, truncate file to original size in case of partial or failed event write --- diff --git a/org.glite.lb.common/src/log_msg.c b/org.glite.lb.common/src/log_msg.c index 4fb3cf6..7e52612 100644 --- a/org.glite.lb.common/src/log_msg.c +++ b/org.glite.lb.common/src/log_msg.c @@ -200,8 +200,11 @@ try_again: edg_wll_SetError(ctx, errno, "ftell()"); goto cleanup; } - if ( fputs(msg, outfile) == EOF ) { - edg_wll_SetError(ctx, errno, "fputs()"); + i = strlen(msg); + if( i != fwrite(msg, sizeof(char), i, outfile)) { + edg_wll_SetError(ctx, errno, "fwrite()"); + /* partially written message may corrupt event file */ + ftruncate(filedesc, *filepos); goto cleanup; } if ( fflush(outfile) == EOF ) {