diff options
Diffstat (limited to 'nx-X11/lib/src/LoadFont.c')
-rw-r--r-- | nx-X11/lib/src/LoadFont.c | 6 |
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); |