aboutsummaryrefslogtreecommitdiffstats
path: root/x11-servers
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>2000-07-08 00:22:34 +0800
committersteve <steve@FreeBSD.org>2000-07-08 00:22:34 +0800
commit3d7f20091457c0d731dfd7594e1ce9c5300e1058 (patch)
treeea9974c0cd2f1925937b062337076d64f701c23f /x11-servers
parente80095463fe31976900d438c90ce731df46f91fc (diff)
downloadfreebsd-ports-gnome-3d7f20091457c0d731dfd7594e1ce9c5300e1058.tar.gz
freebsd-ports-gnome-3d7f20091457c0d731dfd7594e1ce9c5300e1058.tar.zst
freebsd-ports-gnome-3d7f20091457c0d731dfd7594e1ce9c5300e1058.zip
From submitter:
xfstt core dumps at times, especially when trying to serve the regular "Courier New" font (COUR.TTF). As a result, X clients trying to set the font will hang, and killing the hung clients brings down X. The problem is that xfstt calls realloc(), through its #define shrinkMem(), but neglects to adjust a pointer that used to point to memory within the old block. A subsequent copying of that pointer then merrily SIGSEGV's the code. PR: 19716 Submitted by: Chan Tur Wei <twchan@singnet.com.sg>
Diffstat (limited to 'x11-servers')
-rw-r--r--x11-servers/Xfstt/files/patch-ab21
1 files changed, 18 insertions, 3 deletions
diff --git a/x11-servers/Xfstt/files/patch-ab b/x11-servers/Xfstt/files/patch-ab
index fc6fe3b284b0..2e5d08f522eb 100644
--- a/x11-servers/Xfstt/files/patch-ab
+++ b/x11-servers/Xfstt/files/patch-ab
@@ -1,13 +1,28 @@
---- xfstt.cpp.orig Fri Nov 5 00:49:57 1999
-+++ xfstt.cpp Mon Dec 6 17:01:54 1999
+--- xfstt.cpp.orig Thu Jul 6 18:14:25 2000
++++ xfstt.cpp Thu Jul 6 18:15:31 2000
@@ -11,8 +11,8 @@
#define UNSTRAPLIMIT 10500U
// Change these if you don't lie being FHS complient
-#define TTFONTDIR "/usr/share/fonts/truetype"
-#define TTCACHEDIR "/var/cache/xfstt"
-+#define TTFONTDIR "/usr/X11R6/lib/X11/fonts/TrueType"
++#define TTFONTDIR "/usr/X11R6/lib/X11/fonts/TrueType"
+#define TTCACHEDIR "/usr/X11R6/lib/X11/fonts/TrueType"
#define TTINFO_LEAF "ttinfo.dir"
#define TTNAME_LEAF "ttname.dir"
+@@ -470,10 +470,12 @@
+ raster->getFontExtent( &xfs->fe);
+
+ int used = (xfs->fe.bitmaps + xfs->fe.bmplen) - xfs->fe.buffer;
++ int bmpoff = xfs->fe.bitmaps - xfs->fe.buffer;
+ xfs->fe.buffer = (U8*)shrinkMem( xfs->fe.buffer, used);
+- if( xfs->fe.buffer)
++ if( xfs->fe.buffer) {
+ xfs->fe.buflen = used;
+- else {
++ xfs->fe.bitmaps = xfs->fe.buffer + bmpoff;
++ } else {
+ xfs->fid = 0; //###
+ xfs = 0;
+ }