From: Chris B. <buc...@us...> - 2011-06-21 22:53:52
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv31870 Modified Files: trace.c ChangeLog NEWS Log Message: [ 3324265 ] _sfcb_trace may deref NULL pointers Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.598 retrieving revision 1.599 diff -u -d -r1.598 -r1.599 --- NEWS 21 Jun 2011 22:50:59 -0000 1.598 +++ NEWS 21 Jun 2011 22:53:50 -0000 1.599 @@ -26,6 +26,7 @@ - 3324198 getObjectPath() may deref a NULL pointer - 3324247 Unnecessary NULL check in providerDrv - 3324255 Unnecessary NULL check in __cleanup_mt() +- 3324265 _sfcb_trace may deref NULL pointers Changes in 1.3.11 ================= Index: trace.c =================================================================== RCS file: /cvsroot/sblim/sfcb/trace.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- trace.c 6 Nov 2009 00:09:54 -0000 1.16 +++ trace.c 21 Jun 2011 22:53:50 -0000 1.17 @@ -147,6 +147,9 @@ void _sfcb_trace(int level, char *file, int line, char *msg) { + if (msg == NULL) + return; + struct tm cttm; struct timeval tv; struct timezone tz; @@ -172,27 +175,26 @@ if (gmtime_r(&sec, &cttm) != NULL) { strftime(tm, 20, "%m/%d/%Y %H:%M:%S", &cttm); } - } - if (colorTrace) { - changeTextColor(0); - fprintf(ferr, "[%i] [%s] %d/%p --- %s(%i) : %s\n", level, tm, currentProc, (void *)pthread_self(), file, - line, msg); - changeTextColor(1); - } - else { - fprintf(ferr, "[%i] [%s] %d/%p --- %s(%i) : %s\n", level, tm, currentProc, (void *)pthread_self(), file, - line, msg); + if (colorTrace) { + changeTextColor(0); + fprintf(ferr, "[%i] [%s] %d/%p --- %s(%i) : %s\n", level, tm, currentProc, (void *)pthread_self(), file, + line, msg); + changeTextColor(1); + } + else { + fprintf(ferr, "[%i] [%s] %d/%p --- %s(%i) : %s\n", level, tm, currentProc, (void *)pthread_self(), file, + line, msg); + } + + free(tm); + free(msg); } if ((_SFCB_TRACE_FILE != NULL)) { fclose(ferr); } - if (tm) - free(tm); - if (msg) - free(msg); } extern void _sfcb_set_trace_mask(int n) Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.672 retrieving revision 1.673 diff -u -d -r1.672 -r1.673 --- ChangeLog 21 Jun 2011 22:50:59 -0000 1.672 +++ ChangeLog 21 Jun 2011 22:53:50 -0000 1.673 @@ -1,5 +1,8 @@ 2011-06-21 Chris Buccella <buc...@li...> + * trace.c: + [ 3324265 ] _sfcb_trace may deref NULL pointers + * support.c: [ 3324255 ] Unnecessary NULL check in __cleanup_mt() |