aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/src/LoadFont.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/src/LoadFont.c')
-rw-r--r--nx-X11/lib/src/LoadFont.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/nx-X11/lib/src/LoadFont.c b/nx-X11/lib/src/LoadFont.c
index f547976ba..2a18e52c2 100644
--- a/nx-X11/lib/src/LoadFont.c
+++ b/nx-X11/lib/src/LoadFont.c
@@ -27,6 +27,7 @@ in this Software without prior written authorization from The Open Group.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <limits.h>
#include "Xlibint.h"
Font
@@ -38,12 +39,15 @@ XLoadFont (
Font fid;
register xOpenFontReq *req;
+ if (name != NULL && strlen(name) >= USHRT_MAX)
+ return (0);
+
if (_XF86LoadQueryLocaleFont(dpy, name, (XFontStruct **)0, &fid))
return fid;
LockDisplay(dpy);
GetReq(OpenFont, req);
- nbytes = req->nbytes = name ? strlen(name) : 0;
+ nbytes = req->nbytes = name ? (CARD16) strlen(name) : 0;
req->fid = fid = XAllocID(dpy);
req->length += (nbytes+3)>>2;
Data (dpy, name, nbytes);