untrusted comment: verify with openbsd-66-base.pub
RWSvK/c+cFe24L8PyzHyOPGzodcQ7LWEvAVuD7Yfix8B1G1BGfnyf1R/rwmyxAqAF3AZBIIwmI/Ig+rKqJJyis2EHW/Pm3F0dAY=

OpenBSD 6.6 errata 039, August 07, 2020:

The recent security errata 037 broke X11 input methods.

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

And then compile and rebuild the X11 library
   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.1
diff -u -p -r1.9.18.1 imRmAttr.c
--- lib/libX11/modules/im/ximcp/imRmAttr.c      31 Jul 2020 18:43:52 -0000      1.9.18.1
+++ lib/libX11/modules/im/ximcp/imRmAttr.c      4 Aug 2020 19:40:17 -0000
@@ -265,7 +265,7 @@ _XimAttributeToValue(

           if (num > (USHRT_MAX / sizeof(XIMStyle)))
               return False;
-           if ((sizeof(num) + (num * sizeof(XIMStyle))) > data_len)
+           if ((2 * sizeof(CARD16) + (num * sizeof(CARD32))) > data_len)
               return False;
           alloc_len = sizeof(XIMStyles) + sizeof(XIMStyle) * num;
           if (alloc_len < sizeof(XIMStyles))
@@ -379,7 +379,7 @@ _XimAttributeToValue(

           if (num > (UINT_MAX / sizeof(XIMHotKeyTrigger)))
               return False;
-           if ((sizeof(num) + (num * sizeof(XIMHotKeyTrigger))) > data_len)
+           if ((2 * sizeof(CARD16) + (num * 3 * sizeof(CARD32))) > data_len)
               return False;
           alloc_len = sizeof(XIMHotKeyTriggers)
                     + sizeof(XIMHotKeyTrigger) * num;