[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17366 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17366 - gnunet/src/util |
Date: |
Tue, 11 Oct 2011 13:18:45 +0200 |
Author: grothoff
Date: 2011-10-11 13:18:45 +0200 (Tue, 11 Oct 2011)
New Revision: 17366
Modified:
gnunet/src/util/common_logging.c
Log:
check vspnrintf return value, stack-allocate log buffer
Modified: gnunet/src/util/common_logging.c
===================================================================
--- gnunet/src/util/common_logging.c 2011-10-11 10:52:56 UTC (rev 17365)
+++ gnunet/src/util/common_logging.c 2011-10-11 11:18:45 UTC (rev 17366)
@@ -719,58 +719,57 @@
struct timeval timeofday;
struct tm *tmptr;
size_t size;
- char *buf;
va_list vacp;
va_copy (vacp, va);
size = VSNPRINTF (NULL, 0, message, vacp) + 1;
+ GNUNET_assert (0 != size);
va_end (vacp);
- buf = malloc (size);
- if (buf == NULL)
- return; /* oops */
- VSNPRINTF (buf, size, message, va);
- time (&timetmp);
- memset (date, 0, DATE_STR_SIZE);
- tmptr = localtime (&timetmp);
- gettimeofday (&timeofday, NULL);
- if (NULL != tmptr)
- {
+ {
+ char buf[size];
+
+ VSNPRINTF (buf, size, message, va);
+ time (&timetmp);
+ memset (date, 0, DATE_STR_SIZE);
+ tmptr = localtime (&timetmp);
+ gettimeofday (&timeofday, NULL);
+ if (NULL != tmptr)
+ {
#ifdef WINDOWS
- LARGE_INTEGER pc;
+ LARGE_INTEGER pc;
- pc.QuadPart = 0;
- QueryPerformanceCounter (&pc);
- strftime (date2, DATE_STR_SIZE, "%b %d %H:%M:%S-%%020llu", tmptr);
- snprintf (date, sizeof (date), date2,
- (long long) (pc.QuadPart /
- (performance_frequency.QuadPart / 1000)));
+ pc.QuadPart = 0;
+ QueryPerformanceCounter (&pc);
+ strftime (date2, DATE_STR_SIZE, "%b %d %H:%M:%S-%%020llu", tmptr);
+ snprintf (date, sizeof (date), date2,
+ (long long) (pc.QuadPart /
+ (performance_frequency.QuadPart / 1000)));
#else
- strftime (date2, DATE_STR_SIZE, "%b %d %H:%M:%S-%%06u", tmptr);
- snprintf (date, sizeof (date), date2, timeofday.tv_usec);
+ strftime (date2, DATE_STR_SIZE, "%b %d %H:%M:%S-%%06u", tmptr);
+ snprintf (date, sizeof (date), date2, timeofday.tv_usec);
#endif
- }
- else
- strcpy (date, "localtime error");
- if ((0 != (kind & GNUNET_ERROR_TYPE_BULK))
- && (last_bulk_time.abs_value != 0)
- && (0 == strncmp (buf, last_bulk, sizeof (last_bulk))))
- {
- last_bulk_repeat++;
- if ((GNUNET_TIME_absolute_get_duration (last_bulk_time).rel_value >
- BULK_DELAY_THRESHOLD)
- || (last_bulk_repeat > BULK_REPEAT_THRESHOLD))
- flush_bulk (date);
- free (buf);
- return;
- }
- flush_bulk (date);
- strncpy (last_bulk, buf, sizeof (last_bulk));
- last_bulk_repeat = 0;
- last_bulk_kind = kind;
- last_bulk_time = GNUNET_TIME_absolute_get ();
- strncpy (last_bulk_comp, comp, COMP_TRACK_SIZE);
- output_message (kind, comp, date, buf);
- free (buf);
+ }
+ else
+ strcpy (date, "localtime error");
+ if ((0 != (kind & GNUNET_ERROR_TYPE_BULK))
+ && (last_bulk_time.abs_value != 0)
+ && (0 == strncmp (buf, last_bulk, sizeof (last_bulk))))
+ {
+ last_bulk_repeat++;
+ if ((GNUNET_TIME_absolute_get_duration (last_bulk_time).rel_value >
+ BULK_DELAY_THRESHOLD)
+ || (last_bulk_repeat > BULK_REPEAT_THRESHOLD))
+ flush_bulk (date);
+ return;
+ }
+ flush_bulk (date);
+ strncpy (last_bulk, buf, sizeof (last_bulk));
+ last_bulk_repeat = 0;
+ last_bulk_kind = kind;
+ last_bulk_time = GNUNET_TIME_absolute_get ();
+ strncpy (last_bulk_comp, comp, COMP_TRACK_SIZE);
+ output_message (kind, comp, date, buf);
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17366 - gnunet/src/util,
gnunet <=