From 4875a15ca61358a1c95b156b2279fce092451278 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 19 Jan 2022 00:45:43 +0100 Subject: Update libNX_X11 to upstream's libX11-1.7.3.1-10-gd60ede78 --- nx-X11/lib/src/SetFPath.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'nx-X11/lib/src/SetFPath.c') diff --git a/nx-X11/lib/src/SetFPath.c b/nx-X11/lib/src/SetFPath.c index 60aaef01e..6ac546f7b 100644 --- a/nx-X11/lib/src/SetFPath.c +++ b/nx-X11/lib/src/SetFPath.c @@ -27,6 +27,7 @@ in this Software without prior written authorization from The Open Group. #ifdef HAVE_CONFIG_H #include #endif +#include #include "Xlibint.h" #define safestrlen(s) ((s) ? strlen(s) : 0) @@ -37,7 +38,7 @@ XSetFontPath ( char **directories, int ndirs) { - register int n = 0; + register size_t n = 0; register int i; register int nbytes; char *p; @@ -48,7 +49,12 @@ XSetFontPath ( GetReq (SetFontPath, req); req->nFonts = ndirs; for (i = 0; i < ndirs; i++) { - n += safestrlen (directories[i]) + 1; + n = n + (safestrlen (directories[i]) + 1); + if (n >= USHRT_MAX) { + UnlockDisplay(dpy); + SyncHandle(); + return 0; + } } nbytes = (n + 3) & ~3; req->length += nbytes >> 2; @@ -59,7 +65,7 @@ XSetFontPath ( char *tmp = p; for (i = 0; i < ndirs; i++) { - register int length = safestrlen (directories[i]); + size_t length = safestrlen (directories[i]); *p = length; memcpy (p + 1, directories[i], length); p += length + 1; -- cgit v1.2.3