Module Name: xsrc Committed By: mrg Date: Sat Oct 29 21:02:04 UTC 2022
Modified Files: xsrc/external/mit/libXext/dist/src: XEVI.c XSync.c Xge.c extutil.c xsrc/external/mit/libXmu/dist/src: CmapAlloc.c xsrc/external/mit/libXrender/dist/src: Filter.c Xrender.c xsrc/external/mit/libxkbfile/dist/src: cout.c xsrc/external/mit/libxshmfence/dist/src: xshmfence_alloc.c Removed Files: xsrc/external/mit/libXpresent/dist: README xsrc/external/mit/libXrender/dist: README xsrc/external/mit/libxshmfence/dist: README Log Message: merge libXext 1.3.5, libbXmu 1.1.4, libXrender 1.0.1, libxkbfile 1.1.1 and libxshmfence 1.3.1. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/libXext/dist/src/XEVI.c cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/libXext/dist/src/XSync.c cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/libXext/dist/src/Xge.c \ xsrc/external/mit/libXext/dist/src/extutil.c cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/libXmu/dist/src/CmapAlloc.c cvs rdiff -u -r1.1.1.1 -r0 xsrc/external/mit/libXpresent/dist/README cvs rdiff -u -r1.1.1.2 -r0 xsrc/external/mit/libXrender/dist/README cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/libXrender/dist/src/Filter.c \ xsrc/external/mit/libXrender/dist/src/Xrender.c cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/libxkbfile/dist/src/cout.c cvs rdiff -u -r1.1.1.1 -r0 xsrc/external/mit/libxshmfence/dist/README cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/libxshmfence/dist/src/xshmfence_alloc.c 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/libXext/dist/src/XEVI.c diff -u xsrc/external/mit/libXext/dist/src/XEVI.c:1.2 xsrc/external/mit/libXext/dist/src/XEVI.c:1.3 --- xsrc/external/mit/libXext/dist/src/XEVI.c:1.2 Mon Sep 7 15:20:53 2020 +++ xsrc/external/mit/libXext/dist/src/XEVI.c Sat Oct 29 21:02:03 2022 @@ -31,6 +31,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include <X11/extensions/extutil.h> #include <X11/Xutil.h> #include <limits.h> +#include "reallocarray.h" static XExtensionInfo *xevi_info;/* needs to move to globals.c */ static const char *xevi_extension_name = EVINAME; @@ -126,7 +127,7 @@ Status XeviGetVisualInfo( return BadValue; } if (!n_visual || !visual) { /* copy the all visual */ - temp_visual = (VisualID32 *)Xmalloc(sz_VisualID32 * sz_info); + temp_visual = Xcalloc(sz_info, sz_VisualID32); n_visual = 0; for (vinfoIndex = 0; vinfoIndex < sz_info; vinfoIndex++) if (notInList(temp_visual, n_visual, vinfo[vinfoIndex].visualid)) @@ -148,7 +149,7 @@ Status XeviGetVisualInfo( return BadValue; } } - temp_visual = (VisualID32 *)Xmalloc(sz_VisualID32 * n_visual); + temp_visual = Xmallocarray(n_visual, sz_VisualID32); for (visualIndex = 0; visualIndex < n_visual; visualIndex++) temp_visual[visualIndex] = visual[visualIndex]; } @@ -172,7 +173,7 @@ Status XeviGetVisualInfo( sz_xInfo = rep.n_info * sz_xExtendedVisualInfo; sz_conflict = rep.n_conflicts * sizeof(VisualID); sz_xConflict = rep.n_conflicts * sz_VisualID32; - *evi_return = Xmalloc(sz_info + sz_conflict); + *evi_return = Xcalloc(sz_info + sz_conflict, 1); temp_xInfo = Xmalloc(sz_xInfo); temp_conflict = Xmalloc(sz_xConflict); } else { Index: xsrc/external/mit/libXext/dist/src/XSync.c diff -u xsrc/external/mit/libXext/dist/src/XSync.c:1.4 xsrc/external/mit/libXext/dist/src/XSync.c:1.5 --- xsrc/external/mit/libXext/dist/src/XSync.c:1.4 Wed Jul 22 02:23:01 2015 +++ xsrc/external/mit/libXext/dist/src/XSync.c Sat Oct 29 21:02:03 2022 @@ -358,7 +358,7 @@ XSyncListSystemCounters(Display *dpy, in int i; if (rep.nCounters < (INT_MAX / sizeof(XSyncSystemCounter))) - list = Xmalloc(rep.nCounters * sizeof(XSyncSystemCounter)); + list = Xcalloc(rep.nCounters, sizeof(XSyncSystemCounter)); if (rep.length < (INT_MAX >> 2)) { replylen = rep.length << 2; pWireSysCounter = Xmalloc (replylen + sizeof(XSyncCounter)); Index: xsrc/external/mit/libXext/dist/src/Xge.c diff -u xsrc/external/mit/libXext/dist/src/Xge.c:1.6 xsrc/external/mit/libXext/dist/src/Xge.c:1.7 --- xsrc/external/mit/libXext/dist/src/Xge.c:1.6 Wed Jul 22 02:23:01 2015 +++ xsrc/external/mit/libXext/dist/src/Xge.c Sat Oct 29 21:02:03 2022 @@ -1,5 +1,5 @@ /* - * Copyright © 2007-2008 Peter Hutterer + * Copyright © 2007-2008 Peter Hutterer * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -39,6 +39,8 @@ #include <X11/extensions/extutil.h> #include <X11/extensions/Xge.h> +#include "extutilP.h" + /***********************************************************************/ /* internal data structures */ /***********************************************************************/ @@ -141,7 +143,7 @@ _xgeCheckExtInit(Display* dpy, XExtDispl if (!info->data) { - XGEData* data = (XGEData*)Xmalloc(sizeof(XGEData)); + XGEData* data = Xmalloc(sizeof(XGEData)); if (!data) { goto cleanup; } @@ -190,7 +192,7 @@ _xgeGetExtensionVersion(Display* dpy, return NULL; } - vers = (XGEVersionRec*)Xmalloc(sizeof(XGEVersionRec)); + vers = Xmalloc(sizeof(XGEVersionRec)); vers->major_version = rep.majorVersion; vers->minor_version = rep.minorVersion; return vers; @@ -313,7 +315,7 @@ _X_HIDDEN xgeExtRegister(Display* dpy, i xge_data = (XGEData*)info->data; - newExt = (XGEExtNode*)Xmalloc(sizeof(XGEExtNode)); + newExt = Xmalloc(sizeof(XGEExtNode)); if (!newExt) { fprintf(stderr, "xgeExtRegister: Failed to alloc memory.\n"); Index: xsrc/external/mit/libXext/dist/src/extutil.c diff -u xsrc/external/mit/libXext/dist/src/extutil.c:1.6 xsrc/external/mit/libXext/dist/src/extutil.c:1.7 --- xsrc/external/mit/libXext/dist/src/extutil.c:1.6 Sat Jun 1 07:45:50 2013 +++ xsrc/external/mit/libXext/dist/src/extutil.c Sat Oct 29 21:02:03 2022 @@ -54,9 +54,7 @@ in this Software without prior written a #include <X11/extensions/extutil.h> #include <X11/extensions/ge.h> -/* defined in Xge.c */ -extern _X_HIDDEN Bool -xgeExtRegister(Display* dpy, int extension, XExtensionHooks* callbacks); +#include "extutilP.h" /* * XextCreateExtension - return an extension descriptor containing context @@ -65,8 +63,7 @@ xgeExtRegister(Display* dpy, int extensi */ XExtensionInfo *XextCreateExtension (void) { - register XExtensionInfo *info = - (XExtensionInfo *) Xmalloc (sizeof (XExtensionInfo)); + register XExtensionInfo *info = Xmalloc (sizeof (XExtensionInfo)); if (info) { info->head = NULL; @@ -85,7 +82,7 @@ void XextDestroyExtension (XExtensionInf info->head = NULL; /* to catch refs after this */ info->cur = NULL; info->ndisplays = 0; - XFree ((char *) info); + XFree (info); } @@ -103,7 +100,7 @@ XExtDisplayInfo *XextAddDisplay ( { XExtDisplayInfo *dpyinfo; - dpyinfo = (XExtDisplayInfo *) Xmalloc (sizeof (XExtDisplayInfo)); + dpyinfo = Xmalloc (sizeof (XExtDisplayInfo)); if (!dpyinfo) return NULL; dpyinfo->display = dpy; dpyinfo->data = data; @@ -205,7 +202,7 @@ int XextRemoveDisplay (XExtensionInfo *e if (dpyinfo == extinfo->cur) extinfo->cur = NULL; /* flush cache */ _XUnlockMutex(_Xglobal_lock); - Xfree ((char *) dpyinfo); + Xfree (dpyinfo); return 1; } Index: xsrc/external/mit/libXmu/dist/src/CmapAlloc.c diff -u xsrc/external/mit/libXmu/dist/src/CmapAlloc.c:1.5 xsrc/external/mit/libXmu/dist/src/CmapAlloc.c:1.6 --- xsrc/external/mit/libXmu/dist/src/CmapAlloc.c:1.5 Fri May 31 01:19:01 2013 +++ xsrc/external/mit/libXmu/dist/src/CmapAlloc.c Sat Oct 29 21:02:03 2022 @@ -205,7 +205,7 @@ default_allocation(XVisualInfo *vinfo, u * maximum blue value = floor(cube_root(n)) - 1; * maximum green value = n / ((# red values) * (# blue values)) - 1; * Which, on a GPX, allows for 252 entries in the best map, out of 254 - * defineable colormap entries. + * definable colormap entries. */ static void Index: xsrc/external/mit/libXrender/dist/src/Filter.c diff -u xsrc/external/mit/libXrender/dist/src/Filter.c:1.4 xsrc/external/mit/libXrender/dist/src/Filter.c:1.5 --- xsrc/external/mit/libXrender/dist/src/Filter.c:1.4 Tue Oct 4 22:01:49 2016 +++ xsrc/external/mit/libXrender/dist/src/Filter.c Sat Oct 29 21:02:04 2022 @@ -30,15 +30,15 @@ XFilters * XRenderQueryFilters (Display *dpy, Drawable drawable) { - XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); + XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); XRenderInfo *xri; xRenderQueryFiltersReq *req; xRenderQueryFiltersReply rep; XFilters *filters; char *name; char len; - int i; - unsigned long nbytes, nbytesAlias, nbytesName, reply_left; + unsigned int i; + unsigned long nbytesName, reply_left; if (!RenderHasExtension (info)) return NULL; @@ -52,9 +52,9 @@ XRenderQueryFilters (Display *dpy, Drawa LockDisplay (dpy); GetReq (RenderQueryFilters, req); - req->reqType = info->codes->major_opcode; + req->reqType = (CARD8) info->codes->major_opcode; req->renderReqType = X_RenderQueryFilters; - req->drawable = drawable; + req->drawable = (CARD32) drawable; if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) { UnlockDisplay (dpy); @@ -69,6 +69,8 @@ XRenderQueryFilters (Display *dpy, Drawa if ((rep.length < (INT_MAX >> 2)) && (rep.numFilters < ((INT_MAX / 4) / sizeof (char *))) && (rep.numAliases < ((INT_MAX / 4) / sizeof (short)))) { + unsigned long nbytes, nbytesAlias; + /* * Compute total number of bytes for filter names */ @@ -104,8 +106,8 @@ XRenderQueryFilters (Display *dpy, Drawa * nbytesName char strings */ - filters->nfilter = rep.numFilters; - filters->nalias = rep.numAliases; + filters->nfilter = (int) rep.numFilters; + filters->nalias = (int) rep.numAliases; filters->filter = (char **) (filters + 1); filters->alias = (short *) (filters->filter + rep.numFilters); name = (char *) (filters->alias + rep.numAliases); @@ -132,14 +134,14 @@ XRenderQueryFilters (Display *dpy, Drawa SyncHandle (); return NULL; } - nbytesName -= l + 1; + nbytesName -= (unsigned long) (l + 1); filters->filter[i] = name; _XRead (dpy, name, l); - reply_left -= l; + reply_left -= (unsigned long) l; name[l] = '\0'; name += l + 1; } - i = name - (char *) (filters->alias + rep.numAliases); + i = (unsigned) (name - (char *) (filters->alias + rep.numAliases)); if (i & 3) _XEatData (dpy, 4 - (i & 3)); @@ -156,20 +158,20 @@ XRenderSetPictureFilter (Display *dpy XFixed *params, int nparams) { - XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); + XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); xRenderSetPictureFilterReq *req; - int nbytes = strlen (filter); + int nbytes = (int) strlen (filter); RenderSimpleCheckExtension (dpy, info); LockDisplay(dpy); GetReq(RenderSetPictureFilter, req); - req->reqType = info->codes->major_opcode; + req->reqType = (CARD8) info->codes->major_opcode; req->renderReqType = X_RenderSetPictureFilter; - req->picture = picture; - req->nbytes = nbytes; - req->length += ((nbytes + 3) >> 2) + nparams; + req->picture = (CARD32) picture; + req->nbytes = (CARD16) nbytes; + req->length = (CARD16) (req->length + (((nbytes + 3) >> 2) + nparams)); Data (dpy, filter, nbytes); - Data (dpy, (_Xconst char *)params, nparams << 2); + Data (dpy, (_Xconst char *)params, (nparams << 2)); UnlockDisplay(dpy); SyncHandle(); } Index: xsrc/external/mit/libXrender/dist/src/Xrender.c diff -u xsrc/external/mit/libXrender/dist/src/Xrender.c:1.4 xsrc/external/mit/libXrender/dist/src/Xrender.c:1.5 --- xsrc/external/mit/libXrender/dist/src/Xrender.c:1.4 Tue Oct 4 22:01:49 2016 +++ xsrc/external/mit/libXrender/dist/src/Xrender.c Sat Oct 29 21:02:04 2022 @@ -98,14 +98,17 @@ XRenderDepthCheckErrorHandler (Display * if (evt->request_code == X_CreatePixmap && evt->error_code == BadValue) { DepthCheckPtr d; + _XLockMutex(_Xglobal_lock); for (d = depthChecks; d; d = d->next) + { if (d->dpy == dpy) { if ((long) (evt->serial - d->serial) >= 0) d->missing |= DEPTH_MASK(evt->resourceid); break; } + } _XUnlockMutex (_Xglobal_lock); } return 0; @@ -158,7 +161,7 @@ XRenderHasDepths (Display *dpy) if ((missing & DEPTH_MASK(d)) && d != 1) { Pixmap p; - p = XCreatePixmap (dpy, RootWindow (dpy, s), 1, 1, d); + p = XCreatePixmap (dpy, RootWindow (dpy, s), 1, 1, (unsigned) d); XFreePixmap (dpy, p); } XSync (dpy, False); @@ -194,7 +197,7 @@ XRenderExtAddDisplay (XRenderExtInfo *ex { XRenderExtDisplayInfo *dpyinfo; - dpyinfo = (XRenderExtDisplayInfo *) Xmalloc (sizeof (XRenderExtDisplayInfo)); + dpyinfo = Xmalloc (sizeof (XRenderExtDisplayInfo)); if (!dpyinfo) return NULL; dpyinfo->display = dpy; dpyinfo->info = NULL; @@ -273,7 +276,7 @@ XRenderExtRemoveDisplay (XRenderExtInfo if (dpyinfo == extinfo->cur) extinfo->cur = NULL; /* flush cache */ _XUnlockMutex(_Xglobal_lock); - Xfree ((char *) dpyinfo); + Xfree (dpyinfo); return 1; } @@ -292,7 +295,7 @@ XRenderFindDisplay (Display *dpy) } static int -XRenderCloseDisplay (Display *dpy, XExtCodes *codes) +XRenderCloseDisplay (Display *dpy, XExtCodes *codes _X_UNUSED) { XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); if (info && info->info) XFree (info->info); @@ -386,15 +389,15 @@ _XRenderVersionHandler (Display *dpy _XGetAsyncReply(dpy, (char *)&replbuf, rep, buf, len, (SIZEOF(xRenderQueryVersionReply) - SIZEOF(xReply)) >> 2, True); - state->major_version = repl->majorVersion; - state->minor_version = repl->minorVersion; + state->major_version = (int) repl->majorVersion; + state->minor_version = (int) repl->minorVersion; return True; } Status XRenderQueryFormats (Display *dpy) { - XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); + XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); _XAsyncHandler async; _XrenderVersionState async_state; xRenderQueryVersionReq *vreq; @@ -407,11 +410,12 @@ XRenderQueryFormats (Display *dpy) XRenderVisual *visual; xPictFormInfo *xFormat; xPictScreen *xScreen; - xPictDepth *xDepth; + xPictDepth *xPDepth; xPictVisual *xVisual; CARD32 *xSubpixel; void *xData; - int nf, ns, nd, nv; + int ns, nd; + unsigned nf; unsigned long rlength; unsigned long nbytes; @@ -423,7 +427,7 @@ XRenderQueryFormats (Display *dpy) return 1; } GetReq (RenderQueryVersion, vreq); - vreq->reqType = info->codes->major_opcode; + vreq->reqType = (CARD8) info->codes->major_opcode; vreq->renderReqType = X_RenderQueryVersion; vreq->majorVersion = RENDER_MAJOR; vreq->minorVersion = RENDER_MINOR; @@ -436,7 +440,7 @@ XRenderQueryFormats (Display *dpy) dpy->async_handlers = &async; GetReq (RenderQueryPictFormats, req); - req->reqType = info->codes->major_opcode; + req->reqType = (CARD8) info->codes->major_opcode; req->renderReqType = X_RenderQueryPictFormats; if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) @@ -495,14 +499,14 @@ XRenderQueryFormats (Display *dpy) xri->major_version = async_state.major_version; xri->minor_version = async_state.minor_version; xri->format = (XRenderPictFormat *) (xri + 1); - xri->nformat = rep.numFormats; + xri->nformat = (int) rep.numFormats; xri->screen = (XRenderScreen *) (xri->format + rep.numFormats); - xri->nscreen = rep.numScreens; + xri->nscreen = (int) rep.numScreens; xri->depth = (XRenderDepth *) (xri->screen + rep.numScreens); - xri->ndepth = rep.numDepths; + xri->ndepth = (int) rep.numDepths; xri->visual = (XRenderVisual *) (xri->depth + rep.numDepths); - xri->nvisual = rep.numVisuals; - _XRead (dpy, (char *) xData, rlength); + xri->nvisual = (int) rep.numVisuals; + _XRead (dpy, (char *) xData, (long) rlength); format = xri->format; xFormat = (xPictFormInfo *) xData; for (nf = 0; nf < rep.numFormats; nf++) @@ -510,14 +514,14 @@ XRenderQueryFormats (Display *dpy) format->id = xFormat->id; format->type = xFormat->type; format->depth = xFormat->depth; - format->direct.red = xFormat->direct.red; - format->direct.redMask = xFormat->direct.redMask; - format->direct.green = xFormat->direct.green; - format->direct.greenMask = xFormat->direct.greenMask; - format->direct.blue = xFormat->direct.blue; - format->direct.blueMask = xFormat->direct.blueMask; - format->direct.alpha = xFormat->direct.alpha; - format->direct.alphaMask = xFormat->direct.alphaMask; + format->direct.red = (short) xFormat->direct.red; + format->direct.redMask = (short) xFormat->direct.redMask; + format->direct.green = (short) xFormat->direct.green; + format->direct.greenMask = (short) xFormat->direct.greenMask; + format->direct.blue = (short) xFormat->direct.blue; + format->direct.blueMask = (short) xFormat->direct.blueMask; + format->direct.alpha = (short) xFormat->direct.alpha; + format->direct.alphaMask = (short) xFormat->direct.alphaMask; format->colormap = xFormat->colormap; format++; xFormat++; @@ -529,10 +533,10 @@ XRenderQueryFormats (Display *dpy) for (ns = 0; ns < xri->nscreen; ns++) { screen->depths = depth; - screen->ndepths = xScreen->nDepth; + screen->ndepths = (int) xScreen->nDepth; screen->fallback = _XRenderFindFormat (xri, xScreen->fallback); screen->subpixel = SubPixelUnknown; - xDepth = (xPictDepth *) (xScreen + 1); + xPDepth = (xPictDepth *) (xScreen + 1); if (screen->ndepths > rep.numDepths) { Xfree (xri); Xfree (xData); @@ -541,13 +545,15 @@ XRenderQueryFormats (Display *dpy) SyncHandle (); return 0; } - rep.numDepths -= screen->ndepths; + rep.numDepths -= (CARD32) screen->ndepths; for (nd = 0; nd < screen->ndepths; nd++) { - depth->depth = xDepth->depth; - depth->nvisuals = xDepth->nPictVisuals; + int nv; + + depth->depth = xPDepth->depth; + depth->nvisuals = xPDepth->nPictVisuals; depth->visuals = visual; - xVisual = (xPictVisual *) (xDepth + 1); + xVisual = (xPictVisual *) (xPDepth + 1); if (depth->nvisuals > rep.numVisuals) { Xfree (xri); Xfree (xData); @@ -556,7 +562,7 @@ XRenderQueryFormats (Display *dpy) SyncHandle (); return 0; } - rep.numVisuals -= depth->nvisuals; + rep.numVisuals -= (CARD32) depth->nvisuals; for (nv = 0; nv < depth->nvisuals; nv++) { visual->visual = _XRenderFindVisual (dpy, xVisual->visual); @@ -565,16 +571,16 @@ XRenderQueryFormats (Display *dpy) xVisual++; } depth++; - xDepth = (xPictDepth *) xVisual; + xPDepth = (xPictDepth *) xVisual; } screen++; - xScreen = (xPictScreen *) xDepth; + xScreen = (xPictScreen *) xPDepth; } xSubpixel = (CARD32 *) xScreen; screen = xri->screen; for (ns = 0; ns < rep.numSubpixel; ns++) { - screen->subpixel = *xSubpixel; + screen->subpixel = (int) *xSubpixel; xSubpixel++; screen++; } @@ -858,19 +864,19 @@ XRenderQueryPictIndexValues(Display *d _Xconst XRenderPictFormat *format, int *num) { - XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); + XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy); xRenderQueryPictIndexValuesReq *req; xRenderQueryPictIndexValuesReply rep; XIndexValue *values; - unsigned int nbytes, nread, rlength, i; + unsigned int nbytes, nread, i; RenderCheckExtension (dpy, info, NULL); LockDisplay (dpy); GetReq (RenderQueryPictIndexValues, req); - req->reqType = info->codes->major_opcode; + req->reqType = (CARD8) info->codes->major_opcode; req->renderReqType = X_RenderQueryPictIndexValues; - req->format = format->id; + req->format = (CARD32) format->id; if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) { UnlockDisplay (dpy); @@ -880,17 +886,18 @@ XRenderQueryPictIndexValues(Display *d if ((rep.length < (INT_MAX >> 2)) && (rep.numIndexValues < (INT_MAX / sizeof (XIndexValue)))) { + unsigned int rlength; /* request data length */ nbytes = rep.length << 2; /* bytes of actual data in the request */ nread = rep.numIndexValues * SIZEOF (xIndexValue); /* size of array returned to application */ - rlength = rep.numIndexValues * sizeof (XIndexValue); + rlength = (unsigned) ((unsigned long) rep.numIndexValues * sizeof (XIndexValue)); /* allocate returned data */ values = Xmalloc (rlength); } else { - nbytes = nread = rlength = 0; + nbytes = nread = 0; values = NULL; } @@ -903,8 +910,8 @@ XRenderQueryPictIndexValues(Display *d } /* read the values one at a time and convert */ - *num = rep.numIndexValues; - for(i = 0; i < rep.numIndexValues; i++) + *num = (int) rep.numIndexValues; + for (i = 0; i < rep.numIndexValues; i++) { xIndexValue value; Index: xsrc/external/mit/libxkbfile/dist/src/cout.c diff -u xsrc/external/mit/libxkbfile/dist/src/cout.c:1.3 xsrc/external/mit/libxkbfile/dist/src/cout.c:1.4 --- xsrc/external/mit/libxkbfile/dist/src/cout.c:1.3 Sun Jul 19 05:52:54 2015 +++ xsrc/external/mit/libxkbfile/dist/src/cout.c Sat Oct 29 21:02:04 2022 @@ -826,10 +826,6 @@ WriteCHdrGeomSections(FILE *file, XkbDes for (s = 0, section = geom->sections; s < geom->num_sections; s++, section++) { WriteCHdrGeomRows(file, xkb, section, s); -#ifdef NOTYET - if (section->num_doodads > 0) - WriteCHdrGeomDoodads(file, xkb, geom, section, s); -#endif if (section->num_overlays > 0) WriteCHdrGeomOverlays(file, xkb, section, s); } Index: xsrc/external/mit/libxshmfence/dist/src/xshmfence_alloc.c diff -u xsrc/external/mit/libxshmfence/dist/src/xshmfence_alloc.c:1.2 xsrc/external/mit/libxshmfence/dist/src/xshmfence_alloc.c:1.3 --- xsrc/external/mit/libxshmfence/dist/src/xshmfence_alloc.c:1.2 Sun Aug 14 03:43:37 2016 +++ xsrc/external/mit/libxshmfence/dist/src/xshmfence_alloc.c Sat Oct 29 21:02:04 2022 @@ -26,6 +26,8 @@ #include "xshmfenceint.h" +#include <fcntl.h> + #if !HAVE_MEMFD_CREATE #if HAVE_DECL___NR_MEMFD_CREATE #include <asm/unistd.h> @@ -68,21 +70,39 @@ xshmfence_alloc_shm(void) { char template[] = SHMDIR "/shmfd-XXXXXX"; int fd; +#ifndef HAVE_MKOSTEMP + int flags; +#endif #if HAVE_MEMFD_CREATE fd = memfd_create("xshmfence", MFD_CLOEXEC|MFD_ALLOW_SEALING); if (fd < 0) #endif +#ifdef SHM_ANON + fd = shm_open(SHM_ANON, O_RDWR|O_CLOEXEC, 0600); + if (fd < 0) +#endif { #ifdef O_TMPFILE fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); if (fd < 0) #endif { +#ifdef HAVE_MKOSTEMP + fd = mkostemp(template, O_CLOEXEC); +#else fd = mkstemp(template); +#endif if (fd < 0) return fd; unlink(template); +#ifndef HAVE_MKOSTEMP + flags = fcntl(fd, F_GETFD); + if (flags != -1) { + flags |= FD_CLOEXEC; + fcntl(fd, F_SETFD, &flags); + } +#endif } } if (ftruncate(fd, sizeof (struct xshmfence)) < 0) {