untrusted comment: verify with openbsd-66-base.pub
RWSvK/c+cFe24JPyGDNVUhL6DShQKyl5feedyO70cHSFPJLF7wvBRWxqFGsAfAo8wvM26uZXYnSZ+eH3IM9sPLEMlpnKBVP/QAc=

OpenBSD 6.6 errata 040, August 25, 2020:

An integer overflow in libX11 could lead to a double free.
Additionally fix a regression in ximcp.

Apply by doing:
   signify -Vep /etc/signify/openbsd-66-base.pub -x 040_xinitom.patch.sig \
       -m - | (cd /usr/xenocara && patch -p0)

And then compile and rebuild libX11 with
   cd /usr/xenocara/lib/libX11
   make -f Makefile.bsd-wrapper obj
   make -f Makefile.bsd-wrapper build

Index: lib/libX11/modules/im/ximcp/imRmAttr.c
===================================================================
RCS file: /cvs/xenocara/lib/libX11/modules/im/ximcp/imRmAttr.c,v
retrieving revision 1.9.18.2
diff -u -p -u -p -r1.9.18.2 imRmAttr.c
--- lib/libX11/modules/im/ximcp/imRmAttr.c      6 Aug 2020 14:54:08 -0000       1.9.18.2
+++ lib/libX11/modules/im/ximcp/imRmAttr.c      20 Aug 2020 17:59:52 -0000
@@ -1407,7 +1407,7 @@ _XimCountNumberOfAttr(
    *names_len = 0;
    while (total > min_len) {
       len = attr[2];
-       if (len >= (total - min_len)) {
+       if (len > (total - min_len)) {
           return 0;
       }
       *names_len += (len + 1);
Index: lib/libX11/modules/om/generic/omGeneric.c
===================================================================
RCS file: /cvs/xenocara/lib/libX11/modules/om/generic/omGeneric.c,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 omGeneric.c
--- lib/libX11/modules/om/generic/omGeneric.c   23 Aug 2018 19:38:12 -0000      1.9
+++ lib/libX11/modules/om/generic/omGeneric.c   20 Aug 2020 17:59:52 -0000
@@ -1908,7 +1908,8 @@ init_om(
    char **required_list;
    XOrientation *orientation;
    char **value, buf[BUFSIZ], *bufptr;
-    int count = 0, num = 0, length = 0;
+    int count = 0, num = 0;
+    unsigned int length = 0;

    _XlcGetResource(lcd, "XLC_FONTSET", "on_demand_loading", &value, &count);
    if (count > 0 && _XlcCompareISOLatin1(*value, "True") == 0)