libX11/p_xlib_skip_ext_env.diff
Stefan Dirsch 705c2b7d98 - Update to version 1.7.2
* bug fix release, correcting a regression introduced by and
    improving the checks from the fix for CVE-2021-31535.
- supersedes U_Check-for-NULL-strings-before-getting-their-lengths.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libX11?expand=0&rev=69
2021-06-06 19:06:20 +00:00

26 lines
610 B
Diff

Index: src/QuExt.c
===================================================================
--- src/QuExt.c.orig
+++ src/QuExt.c
@@ -45,6 +45,20 @@ XQueryExtension(
if (name != NULL && strlen(name) >= USHRT_MAX)
return false;
+ if (name && strlen (name) < 256)
+ {
+ char var[256 + 15];
+ int i;
+
+ strcpy (var, "XLIB_SKIP_EXT_");
+ for (i = 0; name[i]; i++)
+ var[i + 14] = name[i] == '-' ? '_' : name[i];
+
+ var[i + 14] = 0;
+ if (getenv (var))
+ return False;
+ }
+
LockDisplay(dpy);
GetReq(QueryExtension, req);
req->nbytes = name ? (CARD16) strlen(name) : 0;