xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Aug 31 23:22:30 UTC 2022


 xkb/xkb.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 79c572fbd349cb6373f685a502e430552f856995
Author: FeepingCreature <feepingcreature at gmail.com>
Date:   Sat Aug 20 20:12:31 2022 +0200

    xkb: Avoid length-check failure on empty strings.
    
    _XkbCheckRequestBounds assumes that from..to is at least one byte.
    However, request strings can be empty, causing spurious failures in
    XkbGetKbdByName calls. To avoid this, before checking bounds make
    sure that the length is nonzero.

diff --git a/xkb/xkb.c b/xkb/xkb.c
index 1841cff26..f9e3acbdc 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -5817,11 +5817,11 @@ GetComponentSpec(ClientPtr client, xkbGetKbdByNameReq *stuff,
         return NULL;
     }
     len = (*(unsigned char *) wire++);
-    if (!_XkbCheckRequestBounds(client, stuff, wire, wire + len)) {
-        *errRtrn = BadLength;
-        return NULL;
-    }
     if (len > 0) {
+        if (!_XkbCheckRequestBounds(client, stuff, wire, wire + len)) {
+            *errRtrn = BadLength;
+            return NULL;
+        }
         str = calloc(1, len + 1);
         if (str) {
             tmp = str;


More information about the xorg-commit mailing list