Module Name: xsrc
Committed By: mrg
Date: Fri Jul 11 18:55:42 UTC 2014
Modified Files:
xsrc/external/mit/libXfont/dist/src/FreeType: ftfuncs.c
xsrc/external/mit/libXfont/dist/src/fc: fsconvert.c fserve.c
xsrc/external/mit/libXfont/dist/src/fontfile: dirfile.c
xsrc/external/mit/libXfont/include: config.h
Log Message:
merge libXfont 1.4.8.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/libXfont/dist/src/FreeType/ftfuncs.c
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/libXfont/dist/src/fc/fsconvert.c \
xsrc/external/mit/libXfont/dist/src/fc/fserve.c
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/libXfont/dist/src/fontfile/dirfile.c
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/libXfont/include/config.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/libXfont/dist/src/FreeType/ftfuncs.c
diff -u xsrc/external/mit/libXfont/dist/src/FreeType/ftfuncs.c:1.4 xsrc/external/mit/libXfont/dist/src/FreeType/ftfuncs.c:1.5
--- xsrc/external/mit/libXfont/dist/src/FreeType/ftfuncs.c:1.4 Sun Mar 16 22:27:35 2014
+++ xsrc/external/mit/libXfont/dist/src/FreeType/ftfuncs.c Fri Jul 11 18:55:42 2014
@@ -1865,7 +1865,7 @@ FreeTypeAddProperties(FTFontPtr font, Fo
i++;
info->props[i].name = MakeAtom("RASTERIZER_NAME", 15, TRUE);
- info->props[i].value = MakeAtom("FreeType", 10, TRUE);
+ info->props[i].value = MakeAtom("FreeType", 8, TRUE);
info->isStringProp[i] = 1;
i++;
Index: xsrc/external/mit/libXfont/dist/src/fc/fsconvert.c
diff -u xsrc/external/mit/libXfont/dist/src/fc/fsconvert.c:1.2 xsrc/external/mit/libXfont/dist/src/fc/fsconvert.c:1.3
--- xsrc/external/mit/libXfont/dist/src/fc/fsconvert.c:1.2 Tue May 13 15:17:33 2014
+++ xsrc/external/mit/libXfont/dist/src/fc/fsconvert.c Fri Jul 11 18:55:42 2014
@@ -120,8 +120,8 @@ _fs_convert_props(fsPropInfo *pi, fsProp
memcpy(&local_off, off_adr, SIZEOF(fsPropOffset));
if ((local_off.name.position >= pi->data_len) ||
(local_off.name.length >
- (pi->data_len - local_off.name.position)))
- goto bail;
+ (pi->data_len - local_off.name.position)))
+ goto bail;
dprop->name = MakeAtom(&pdc[local_off.name.position],
local_off.name.length, 1);
if (local_off.type != PropTypeString) {
@@ -129,10 +129,10 @@ _fs_convert_props(fsPropInfo *pi, fsProp
dprop->value = local_off.value.position;
} else {
*is_str = TRUE;
- if ((local_off.name.position >= pi->data_len) ||
- (local_off.name.length >
- (pi->data_len - local_off.name.position)))
- goto bail;
+ if ((local_off.value.position >= pi->data_len) ||
+ (local_off.value.length >
+ (pi->data_len - local_off.value.position)))
+ goto bail;
dprop->value = (INT32) MakeAtom(&pdc[local_off.value.position],
local_off.value.length, 1);
if (dprop->value == BAD_RESOURCE)
@@ -724,9 +724,9 @@ fs_alloc_glyphs (FontPtr pFont, int size
if (size < (INT_MAX - sizeof (FSGlyphRec)))
glyphs = malloc (sizeof (FSGlyphRec) + size);
else
- glyphs = NULL;
+ glyphs = NULL;
if (glyphs == NULL)
- return NULL;
+ return NULL;
glyphs->next = fsfont->glyphs;
fsfont->glyphs = glyphs;
return (pointer) (glyphs + 1);
Index: xsrc/external/mit/libXfont/dist/src/fc/fserve.c
diff -u xsrc/external/mit/libXfont/dist/src/fc/fserve.c:1.2 xsrc/external/mit/libXfont/dist/src/fc/fserve.c:1.3
--- xsrc/external/mit/libXfont/dist/src/fc/fserve.c:1.2 Tue May 13 15:17:33 2014
+++ xsrc/external/mit/libXfont/dist/src/fc/fserve.c Fri Jul 11 18:55:42 2014
@@ -70,7 +70,7 @@ in this Software without prior written a
#include "fservestr.h"
#include <X11/fonts/fontutil.h>
#include <errno.h>
-#include <limits.h>
+#include <limits.h>
#include <time.h>
#define Time_t time_t
@@ -96,10 +96,10 @@ in this Software without prior written a
* SIZEOF(r) is in bytes, length fields in the protocol are in 32-bit words,
* so this converts for doing size comparisons.
*/
-#define LENGTHOF(r) (SIZEOF(r) >> 2)
+#define LENGTHOF(r) (SIZEOF(r) >> 2)
/* Somewhat arbitrary limit on maximum reply size we'll try to read. */
-#define MAX_REPLY_LENGTH ((64 * 1024 * 1024) >> 2)
+#define MAX_REPLY_LENGTH ((64 * 1024 * 1024) >> 2)
extern void ErrorF(const char *f, ...);
@@ -631,11 +631,11 @@ fs_get_reply (FSFpePtr conn, int *error)
*/
if (rep->length > MAX_REPLY_LENGTH)
{
- ErrorF("fserve: reply length %d > MAX_REPLY_LENGTH, disconnecting"
- " from font server\n", rep->length);
- _fs_connection_died (conn);
- *error = FSIO_ERROR;
- return 0;
+ ErrorF("fserve: reply length %d > MAX_REPLY_LENGTH, disconnecting"
+ " from font server\n", rep->length);
+ _fs_connection_died (conn);
+ *error = FSIO_ERROR;
+ return 0;
}
ret = _fs_start_read (conn, rep->length << 2, &buf);
@@ -721,14 +721,14 @@ fs_read_open_font(FontPathElementPtr fpe
rep = (fsOpenBitmapFontReply *) fs_get_reply (conn, &ret);
if (!rep || rep->type == FS_Error ||
- (rep->length != LENGTHOF(fsOpenBitmapFontReply)))
+ (rep->length != LENGTHOF(fsOpenBitmapFontReply)))
{
if (ret == FSIO_BLOCK)
return StillWorking;
if (rep)
_fs_done_read (conn, rep->length << 2);
fs_cleanup_bfont (bfont);
- _fs_reply_failed (rep, fsOpenBitmapFontReply, "!=");
+ _fs_reply_failed (rep, fsOpenBitmapFontReply, "!=");
return BadFontName;
}
@@ -855,7 +855,7 @@ fs_read_query_info(FontPathElementPtr fp
FSFpePtr conn = (FSFpePtr) fpe->private;
fsQueryXInfoReply *rep;
char *buf;
- long bufleft; /* length of reply left to use */
+ long bufleft; /* length of reply left to use */
fsPropInfo *pi;
fsPropOffset *po;
pointer pd;
@@ -866,14 +866,14 @@ fs_read_query_info(FontPathElementPtr fp
rep = (fsQueryXInfoReply *) fs_get_reply (conn, &ret);
if (!rep || rep->type == FS_Error ||
- (rep->length < LENGTHOF(fsQueryXInfoReply)))
+ (rep->length < LENGTHOF(fsQueryXInfoReply)))
{
if (ret == FSIO_BLOCK)
return StillWorking;
if (rep)
_fs_done_read (conn, rep->length << 2);
fs_cleanup_bfont (bfont);
- _fs_reply_failed (rep, fsQueryXInfoReply, "<");
+ _fs_reply_failed (rep, fsQueryXInfoReply, "<");
return BadFontName;
}
@@ -899,12 +899,12 @@ fs_read_query_info(FontPathElementPtr fp
/* Compute offsets into the reply */
if (bufleft < SIZEOF(fsPropInfo))
{
- ret = -1;
+ ret = -1;
#ifdef DEBUG
- fprintf(stderr, "fsQueryXInfo: bufleft (%ld) < SIZEOF(fsPropInfo)\n",
- bufleft);
+ fprintf(stderr, "fsQueryXInfo: bufleft (%ld) < SIZEOF(fsPropInfo)\n",
+ bufleft);
#endif
- goto bail;
+ goto bail;
}
pi = (fsPropInfo *) buf;
buf += SIZEOF (fsPropInfo);
@@ -912,13 +912,13 @@ fs_read_query_info(FontPathElementPtr fp
if ((bufleft / SIZEOF(fsPropOffset)) < pi->num_offsets)
{
- ret = -1;
+ ret = -1;
#ifdef DEBUG
- fprintf(stderr,
- "fsQueryXInfo: bufleft (%ld) / SIZEOF(fsPropOffset) < %d\n",
- bufleft, pi->num_offsets);
+ fprintf(stderr,
+ "fsQueryXInfo: bufleft (%ld) / SIZEOF(fsPropOffset) < %d\n",
+ bufleft, pi->num_offsets);
#endif
- goto bail;
+ goto bail;
}
po = (fsPropOffset *) buf;
buf += pi->num_offsets * SIZEOF(fsPropOffset);
@@ -926,13 +926,13 @@ fs_read_query_info(FontPathElementPtr fp
if (bufleft < pi->data_len)
{
- ret = -1;
+ ret = -1;
#ifdef DEBUG
- fprintf(stderr,
- "fsQueryXInfo: bufleft (%ld) < data_len (%d)\n",
- bufleft, pi->data_len);
+ fprintf(stderr,
+ "fsQueryXInfo: bufleft (%ld) < data_len (%d)\n",
+ bufleft, pi->data_len);
#endif
- goto bail;
+ goto bail;
}
pd = (pointer) buf;
buf += pi->data_len;
@@ -1031,14 +1031,14 @@ fs_read_extent_info(FontPathElementPtr f
rep = (fsQueryXExtents16Reply *) fs_get_reply (conn, &ret);
if (!rep || rep->type == FS_Error ||
- (rep->length < LENGTHOF(fsQueryXExtents16Reply)))
+ (rep->length < LENGTHOF(fsQueryXExtents16Reply)))
{
if (ret == FSIO_BLOCK)
return StillWorking;
if (rep)
_fs_done_read (conn, rep->length << 2);
fs_cleanup_bfont (bfont);
- _fs_reply_failed (rep, fsQueryXExtents16Reply, "<");
+ _fs_reply_failed (rep, fsQueryXExtents16Reply, "<");
return BadFontName;
}
@@ -1053,24 +1053,24 @@ fs_read_extent_info(FontPathElementPtr f
}
if (numInfos >= (INT_MAX / sizeof(CharInfoRec))) {
#ifdef DEBUG
- fprintf(stderr,
- "fsQueryXExtents16: numInfos (%d) >= %ld\n",
- numInfos, (INT_MAX / sizeof(CharInfoRec)));
+ fprintf(stderr,
+ "fsQueryXExtents16: numInfos (%d) >= %ld\n",
+ numInfos, (INT_MAX / sizeof(CharInfoRec)));
#endif
- pCI = NULL;
+ pCI = NULL;
}
else if (numExtents > ((rep->length - LENGTHOF(fsQueryXExtents16Reply))
- / LENGTHOF(fsXCharInfo))) {
+ / LENGTHOF(fsXCharInfo))) {
#ifdef DEBUG
- fprintf(stderr,
- "fsQueryXExtents16: numExtents (%d) > (%d - %d) / %d\n",
- numExtents, rep->length,
- LENGTHOF(fsQueryXExtents16Reply), LENGTHOF(fsXCharInfo));
+ fprintf(stderr,
+ "fsQueryXExtents16: numExtents (%d) > (%d - %d) / %d\n",
+ numExtents, rep->length,
+ LENGTHOF(fsQueryXExtents16Reply), LENGTHOF(fsXCharInfo));
#endif
- pCI = NULL;
+ pCI = NULL;
}
else
- pCI = malloc(sizeof(CharInfoRec) * numInfos);
+ pCI = malloc(sizeof(CharInfoRec) * numInfos);
if (!pCI)
{
@@ -1211,7 +1211,7 @@ fs_read_extent_info(FontPathElementPtr f
}
#ifdef DEBUG
-static char *fs_open_states[] = {
+static const char *fs_open_states[] = {
"OPEN_REPLY ",
"INFO_REPLY ",
"EXTENT_REPLY",
@@ -1481,7 +1481,6 @@ fs_wakeup(FontPathElementPtr fpe, unsign
{
FSBlockDataPtr blockrec;
FSBlockedFontPtr bfont;
- FSBlockedListPtr blist;
static CARD32 lastState;
static FSBlockDataPtr lastBlock;
@@ -1505,7 +1504,6 @@ fs_wakeup(FontPathElementPtr fpe, unsign
"<freed>");
break;
case FS_LIST_FONTS:
- blist = (FSBlockedListPtr) blockrec->data;
fprintf (stderr, " Blocked list errcode %d sequence %d\n",
blockrec->errcode, blockrec->sequenceNumber);
break;
@@ -1909,7 +1907,7 @@ fs_read_glyphs(FontPathElementPtr fpe, F
FontInfoPtr pfi = &pfont->info;
fsQueryXBitmaps16Reply *rep;
char *buf;
- long bufleft; /* length of reply left to use */
+ long bufleft; /* length of reply left to use */
fsOffset32 *ppbits;
fsOffset32 local_off;
char *off_adr;
@@ -1927,7 +1925,7 @@ fs_read_glyphs(FontPathElementPtr fpe, F
rep = (fsQueryXBitmaps16Reply *) fs_get_reply (conn, &ret);
if (!rep || rep->type == FS_Error ||
- (rep->length < LENGTHOF(fsQueryXBitmaps16Reply)))
+ (rep->length < LENGTHOF(fsQueryXBitmaps16Reply)))
{
if (ret == FSIO_BLOCK)
return StillWorking;
@@ -1947,17 +1945,18 @@ fs_read_glyphs(FontPathElementPtr fpe, F
if ((bufleft / SIZEOF (fsOffset32)) < rep->num_chars)
{
#ifdef DEBUG
- fprintf(stderr,
- "fsQueryXBitmaps16: num_chars (%d) > bufleft (%ld) / %d\n",
- rep->num_chars, bufleft, SIZEOF (fsOffset32));
+ fprintf(stderr,
+ "fsQueryXBitmaps16: num_chars (%d) > bufleft (%ld) / %d\n",
+ rep->num_chars, bufleft, SIZEOF (fsOffset32));
#endif
- err = AllocError;
- goto bail;
+ err = AllocError;
+ goto bail;
}
ppbits = (fsOffset32 *) buf;
buf += SIZEOF (fsOffset32) * (rep->num_chars);
bufleft -= SIZEOF (fsOffset32) * (rep->num_chars);
+#if 0
if (bufleft < rep->nbytes)
{
#ifdef DEBUG
@@ -1968,7 +1967,18 @@ fs_read_glyphs(FontPathElementPtr fpe, F
err = AllocError;
goto bail;
}
+#endif
+ if (bufleft < rep->nbytes)
+ {
+#ifdef DEBUG
+ fprintf(stderr,
+ "fsQueryXBitmaps16: nbytes (%d) > bufleft (%ld)\n",
+ rep->nbytes, bufleft);
+#endif
+ err = AllocError;
+ goto bail;
+ }
pbitmaps = (pointer ) buf;
if (blockrec->type == FS_LOAD_GLYPHS)
@@ -2027,8 +2037,8 @@ fs_read_glyphs(FontPathElementPtr fpe, F
if (NONZEROMETRICS(&fsdata->encoding[minchar].metrics))
{
if (local_off.length &&
- (local_off.position < rep->nbytes) &&
- (local_off.length <= (rep->nbytes - local_off.position)))
+ (local_off.position < rep->nbytes) &&
+ (local_off.length <= (rep->nbytes - local_off.position)))
{
bits = allbits;
allbits += local_off.length;
@@ -2358,7 +2368,7 @@ fs_read_list(FontPathElementPtr fpe, FSB
FSBlockedListPtr blist = (FSBlockedListPtr) blockrec->data;
fsListFontsReply *rep;
char *data;
- long dataleft; /* length of reply left to use */
+ long dataleft; /* length of reply left to use */
int length,
i,
ret;
@@ -2366,7 +2376,7 @@ fs_read_list(FontPathElementPtr fpe, FSB
rep = (fsListFontsReply *) fs_get_reply (conn, &ret);
if (!rep || rep->type == FS_Error ||
- (rep->length < LENGTHOF(fsListFontsReply)))
+ (rep->length < LENGTHOF(fsListFontsReply)))
{
if (ret == FSIO_BLOCK)
return StillWorking;
@@ -2382,19 +2392,19 @@ fs_read_list(FontPathElementPtr fpe, FSB
/* copy data into FontPathRecord */
for (i = 0; i < rep->nFonts; i++)
{
- if (dataleft < 1)
- break;
+ if (dataleft < 1)
+ break;
length = *(unsigned char *)data++;
- dataleft--; /* used length byte */
- if (length > dataleft) {
+ dataleft--; /* used length byte */
+ if (length > dataleft) {
#ifdef DEBUG
- fprintf(stderr,
- "fsListFonts: name length (%d) > dataleft (%ld)\n",
- length, dataleft);
-#endif
- err = BadFontName;
- break;
- }
+ fprintf(stderr,
+ "fsListFonts: name length (%d) > dataleft (%ld)\n",
+ length, dataleft);
+#endif
+ err = BadFontName;
+ break;
+ }
err = AddFontNamesName(blist->names, data, length);
if (err != Successful)
break;
@@ -2494,6 +2504,7 @@ fs_read_list_info(FontPathElementPtr fpe
FSBlockedListInfoPtr binfo = (FSBlockedListInfoPtr) blockrec->data;
fsListFontsWithXInfoReply *rep;
char *buf;
+ long bufleft;
FSFpePtr conn = (FSFpePtr) fpe->private;
fsPropInfo *pi;
fsPropOffset *po;
@@ -2506,14 +2517,14 @@ fs_read_list_info(FontPathElementPtr fpe
rep = (fsListFontsWithXInfoReply *) fs_get_reply (conn, &ret);
if (!rep || rep->type == FS_Error ||
- ((rep->nameLength != 0) &&
- (rep->length < LENGTHOF(fsListFontsWithXInfoReply))))
+ ((rep->nameLength != 0) &&
+ (rep->length < LENGTHOF(fsListFontsWithXInfoReply))))
{
if (ret == FSIO_BLOCK)
return StillWorking;
binfo->status = FS_LFWI_FINISHED;
err = AllocError;
- _fs_reply_failed (rep, fsListFontsWithXInfoReply, "<");
+ _fs_reply_failed (rep, fsListFontsWithXInfoReply, "<");
goto done;
}
/*
@@ -2530,6 +2541,7 @@ fs_read_list_info(FontPathElementPtr fpe
}
buf = (char *) rep + SIZEOF (fsListFontsWithXInfoReply);
+ bufleft = (rep->length << 2) - SIZEOF (fsListFontsWithXInfoReply);
/*
* The original FS implementation didn't match
@@ -2538,19 +2550,71 @@ fs_read_list_info(FontPathElementPtr fpe
*/
if (conn->fsMajorVersion <= 1)
{
+ if (rep->nameLength > bufleft) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "fsListFontsWithXInfo: name length (%d) > bufleft (%ld)\n",
+ (int) rep->nameLength, bufleft);
+#endif
+ err = AllocError;
+ goto done;
+ }
+ /* binfo->name is a 256 char array, rep->nameLength is a CARD8 */
memcpy (binfo->name, buf, rep->nameLength);
buf += _fs_pad_length (rep->nameLength);
+ bufleft -= _fs_pad_length (rep->nameLength);
}
pi = (fsPropInfo *) buf;
+ if (SIZEOF (fsPropInfo) > bufleft) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "fsListFontsWithXInfo: PropInfo length (%d) > bufleft (%ld)\n",
+ (int) SIZEOF (fsPropInfo), bufleft);
+#endif
+ err = AllocError;
+ goto done;
+ }
+ bufleft -= SIZEOF (fsPropInfo);
buf += SIZEOF (fsPropInfo);
po = (fsPropOffset *) buf;
+ if (pi->num_offsets > (bufleft / SIZEOF (fsPropOffset))) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "fsListFontsWithXInfo: offset length (%d * %d) > bufleft (%ld)\n",
+ pi->num_offsets, (int) SIZEOF (fsPropOffset), bufleft);
+#endif
+ err = AllocError;
+ goto done;
+ }
+ bufleft -= pi->num_offsets * SIZEOF (fsPropOffset);
buf += pi->num_offsets * SIZEOF (fsPropOffset);
pd = (pointer) buf;
+ if (pi->data_len > bufleft) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "fsListFontsWithXInfo: data length (%d) > bufleft (%ld)\n",
+ pi->data_len, bufleft);
+#endif
+ err = AllocError;
+ goto done;
+ }
+ bufleft -= pi->data_len;
buf += pi->data_len;
if (conn->fsMajorVersion > 1)
{
+ if (rep->nameLength > bufleft) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "fsListFontsWithXInfo: name length (%d) > bufleft (%ld)\n",
+ (int) rep->nameLength, bufleft);
+#endif
+ err = AllocError;
+ goto done;
+ }
+ /* binfo->name is a 256 char array, rep->nameLength is a CARD8 */
memcpy (binfo->name, buf, rep->nameLength);
buf += _fs_pad_length (rep->nameLength);
+ bufleft -= _fs_pad_length (rep->nameLength);
}
#ifdef DEBUG
@@ -2974,25 +3038,25 @@ _fs_recv_conn_setup (FSFpePtr conn)
{
alts[i].subset = alt_names[0];
alt_len = alt_names[1];
- if (alt_len >= alt_name_len) {
- /*
- * Length is longer than setup->alternate_len
- * told us to allocate room for, assume entire
- * alternate list is corrupted.
- */
-#ifdef DEBUG
- fprintf (stderr,
- "invalid alt list (length %lx >= %lx)\n",
- (long) alt_len, (long) alt_name_len);
-#endif
- free(alts);
- return FSIO_ERROR;
- }
+ if (alt_len >= alt_name_len) {
+ /*
+ * Length is longer than setup->alternate_len
+ * told us to allocate room for, assume entire
+ * alternate list is corrupted.
+ */
+#ifdef DEBUG
+ fprintf (stderr,
+ "invalid alt list (length %lx >= %lx)\n",
+ (long) alt_len, (long) alt_name_len);
+#endif
+ free(alts);
+ return FSIO_ERROR;
+ }
alts[i].name = alt_save;
memcpy (alt_save, alt_names + 2, alt_len);
alt_save[alt_len] = '\0';
alt_save += alt_len + 1;
- alt_name_len -= alt_len + 1;
+ alt_name_len -= alt_len + 1;
alt_names += _fs_pad_length (alt_len + 2);
}
conn->numAlts = setup->num_alternates;
@@ -3130,6 +3194,7 @@ _fs_send_cat_sync (FSFpePtr conn)
* by a bogus catalogue
*/
lcreq.reqType = FS_ListCatalogues;
+ lcreq.data = 0;
lcreq.length = (SIZEOF(fsListCataloguesReq)) >> 2;
lcreq.maxNames = 0;
lcreq.nbytes = 0;
Index: xsrc/external/mit/libXfont/dist/src/fontfile/dirfile.c
diff -u xsrc/external/mit/libXfont/dist/src/fontfile/dirfile.c:1.2 xsrc/external/mit/libXfont/dist/src/fontfile/dirfile.c:1.3
--- xsrc/external/mit/libXfont/dist/src/fontfile/dirfile.c:1.2 Tue May 13 15:17:33 2014
+++ xsrc/external/mit/libXfont/dist/src/fontfile/dirfile.c Fri Jul 11 18:55:42 2014
@@ -375,9 +375,9 @@ lexAlias(FILE *file, char **lexToken)
int nsize;
char *nbuf;
- if (tokenSize >= (INT_MAX >> 2))
- /* Stop before we overflow */
- return EALLOC;
+ if (tokenSize >= (INT_MAX >> 2))
+ /* Stop before we overflow */
+ return EALLOC;
nsize = tokenSize ? (tokenSize << 1) : 64;
nbuf = realloc(tokenBuf, nsize);
if (!nbuf)
Index: xsrc/external/mit/libXfont/include/config.h
diff -u xsrc/external/mit/libXfont/include/config.h:1.4 xsrc/external/mit/libXfont/include/config.h:1.5
--- xsrc/external/mit/libXfont/include/config.h:1.4 Sun Mar 16 22:30:54 2014
+++ xsrc/external/mit/libXfont/include/config.h Fri Jul 11 18:55:42 2014
@@ -75,7 +75,7 @@
#define PACKAGE_NAME "libXfont"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libXfont 1.4.7"
+#define PACKAGE_STRING "libXfont 1.4.8"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libXfont"
@@ -84,7 +84,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.7"
+#define PACKAGE_VERSION "1.4.8"
/* Major version of this package */
#define PACKAGE_VERSION_MAJOR 1
@@ -93,7 +93,7 @@
#define PACKAGE_VERSION_MINOR 4
/* Patch version of this package */
-#define PACKAGE_VERSION_PATCHLEVEL 7
+#define PACKAGE_VERSION_PATCHLEVEL 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1