summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--generic/tclClock.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 483e1bb..fda9215 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-08-25 Kevin Kenny <kennykb@acm.org>
+
+ * generic/tclClock.c (FormatClock): Claimed additional space for
+ the %c format code to avoid a buffer overrun when formatting
+ (for example) a Friday in February in the Portuguese locale.
+ [Bug 1751117]
+
2007-08-24 Miguel Sofer <msofer@users.sf.net>
* generic/tclCompile.c: replaced copy loop that tripped some
diff --git a/generic/tclClock.c b/generic/tclClock.c
index a939fb2..ace6809 100644
--- a/generic/tclClock.c
+++ b/generic/tclClock.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclClock.c,v 1.20.2.3 2007/04/21 22:42:49 kennykb Exp $
+ * RCS: @(#) $Id: tclClock.c,v 1.20.2.4 2007/08/25 17:12:20 kennykb Exp $
*/
#include "tcl.h"
@@ -328,6 +328,9 @@ FormatClock(interp, clockVal, useGMT, format)
for (bufSize = 1, p = format; *p != '\0'; p++) {
if (*p == '%') {
bufSize += 40;
+ if (p[1] == 'c') {
+ bufSize += 226;
+ }
} else {
bufSize++;
}