From edebc51cd082804c286a3e8a8cfbb7f4f51ca543 Mon Sep 17 00:00:00 2001 From: Kevin B Kenny Date: Sat, 25 Aug 2007 17:12:18 +0000 Subject: * 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] --- ChangeLog | 7 +++++++ generic/tclClock.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 483e1bb..fda9215 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-08-25 Kevin Kenny + + * 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 * 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++; } -- cgit v0.12