From 9295daaaad625b41892d939729104763a2d2b3ce Mon Sep 17 00:00:00 2001 From: hobbs Date: Thu, 14 Apr 2005 22:39:33 +0000 Subject: * unix/tkUnixFont.c (FontMapLoadPage): reorder char[] decls to avoid possible segv. Minimal fix for [Bug 1122671] --- ChangeLog | 5 +++++ unix/tkUnixFont.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 112dc0e..fcf93f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-04-14 Jeff Hobbs + + * unix/tkUnixFont.c (FontMapLoadPage): reorder char[] decls to + avoid possible segv. Minimal fix for [Bug 1122671] + 2005-04-12 Jeff Hobbs * library/tkfbox.tcl (::tk::dialog::file::): fix typeMenuLab ref. diff --git a/unix/tkUnixFont.c b/unix/tkUnixFont.c index e004acb..34d814d 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.22 2004/01/13 02:06:01 davygrvy Exp $ + * RCS: @(#) $Id: tkUnixFont.c,v 1.23 2005/04/14 22:39:34 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