From a26fe844d36ac47fb83ebbaf353c475244d6c67d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michal=20Voc=C5=AF?= Date: Mon, 7 Jun 2010 11:16:03 +0000 Subject: [PATCH] added fix for SB#53093, truncate file to original size in case of partial or failed event write --- org.glite.lb.common/src/log_msg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 ) { -- 1.8.2.3