From f03263e39feedf250b5ad971475fd94a96a2b7a9 Mon Sep 17 00:00:00 2001 From: Michael Meffie Date: Wed, 15 Jul 2009 12:46:56 -0400 Subject: [PATCH] Fix assert message to avoid printing garbage Fix an off by one error in assert() to avoid printing garbage characters to the log. Remove the newline character generated by ctime() to match the format generated by the other logging functions. FIXES 124613 Reviewed-on: http://gerrit.openafs.org/102 Verified-by: Russ Allbery Reviewed-by: Russ Allbery (cherry picked from commit 15d203c7be957ba0e63288e2d95cbd078d94eb21) Change-Id: I4720285db68f30730f67d62978d777fd6857fc7a Reviewed-on: http://gerrit.openafs.org/931 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/util/assert.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/util/assert.c b/src/util/assert.c index e8f6d5639..11a2e039c 100644 --- a/src/util/assert.c +++ b/src/util/assert.c @@ -28,16 +28,19 @@ afs_NTAbort(void) } #endif +#define TIMESTAMP_BUFFER_SIZE 26 /* including the null */ +#define TIMESTAMP_NEWLINE_POS 24 /* offset to the newline placed by ctime */ void AssertionFailed(char *file, int line) { - char tdate[26]; + char tdate[TIMESTAMP_BUFFER_SIZE]; time_t when; time(&when); - (void)afs_ctime(&when, tdate, 25); - fprintf(stderr, "%s: Assertion failed! file %s, line %d.\n", tdate, file, + (void)afs_ctime(&when, tdate, sizeof(tdate)); + tdate[TIMESTAMP_NEWLINE_POS] = ' '; + fprintf(stderr, "%sAssertion failed! file %s, line %d.\n", tdate, file, line); fflush(stderr); #ifdef AFS_NT40_ENV -- 2.39.5