From be6d9e33bed687b9fe2a04d816dd5f932a5764d1 Mon Sep 17 00:00:00 2001 From: hobbs Date: Tue, 12 Apr 2005 22:05:47 +0000 Subject: * unix/tkUnixFont.c (FontMapLoadPage): reorder char[] decls to avoid possible segv. Minimal fix for [Bug 1122671] --- ChangeLog | 3 +++ unix/tkUnixFont.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d974f05..87c1113 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-04-12 Jeff Hobbs + * unix/tkUnixFont.c (FontMapLoadPage): reorder char[] decls to + avoid possible segv. Minimal fix for [Bug 1122671] + * library/tkfbox.tcl (::tk::dialog::file::): fix typeMenuLab ref. Add undoc'd ::tk::dialog::file::showHiddenBtn var (default 0) that will add a "Show Hidden" checkbutton to tk_get*File and diff --git a/unix/tkUnixFont.c b/unix/tkUnixFont.c index 22ea02f..1de1b1f 100644 --- a/unix/tkUnixFont.c +++ b/unix/tkUnixFont.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkUnixFont.c,v 1.18.2.3 2003/10/29 01:07:46 hobbs Exp $ + * RCS: @(#) $Id: tkUnixFont.c,v 1.18.2.4 2005/04/12 22:05:47 hobbs Exp $ */ #include "tkUnixInt.h" @@ -2054,7 +2054,7 @@ FontMapLoadPage(subFontPtr, row) int row; /* Index of the page to be loaded into * the cache. */ { - char src[TCL_UTF_MAX], buf[16]; + char buf[16], src[TCL_UTF_MAX]; int minHi, maxHi, minLo, maxLo, scale, checkLo; int i, end, bitOffset, isTwoByteFont, n; Tcl_Encoding encoding; @@ -2091,7 +2091,7 @@ FontMapLoadPage(subFontPtr, row) end = (row + 1) << FONTMAP_SHIFT; for (i = row << FONTMAP_SHIFT; i < end; i++) { int hi, lo; - + if (Tcl_UtfToExternal(NULL, encoding, src, Tcl_UniCharToUtf(i, src), TCL_ENCODING_STOPONERROR, NULL, buf, sizeof(buf), NULL, NULL, NULL) != TCL_OK) { -- cgit v0.12