[X2Go-Commits] [nx-libs] 110/219: xkb: Silence some compiler warnings

git-admin at x2go.org git-admin at x2go.org
Sat Sep 28 12:10:32 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit 813acdd2df24a8e3f44152d90a26f1beef11b38c
Author: Ulrich Sibiller <uli42 at gmx.de>
Date:   Fri Jun 21 11:01:59 2019 +0200

    xkb: Silence some compiler warnings
    
      commit 83913de25d35709b3ab7b0ab124b73924145d2dd
      Author: Adam Jackson <ajax at redhat.com>
      Date:   Thu Apr 5 12:59:11 2018 -0400
    
        xkb: Silence some compiler warnings
    
        Of the form:
    
        ../xkb/XKBGAlloc.c: In function ‘SrvXkbAddGeomKeyAlias’:
        ../xkb/XKBGAlloc.c:591:13: warning: ‘strncpy’ specified bound 4 equals destination size [-Wstringop-truncation]
                     strncpy(alias->real, realStr, XkbKeyNameLength);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
        This is intentional; the code that reads from these fields never reads
        more than 4 bytes anyway. Rephrase things in terms of memcpy so that's
        clear. Obviously this is awful but in XKB awful is par.
    
        Signed-off-by: Adam Jackson <ajax at redhat.com>
        Acked-by: Keith Packard <keithp at keithp.com>
---
 nx-X11/programs/Xserver/xkb/XKBGAlloc.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/nx-X11/programs/Xserver/xkb/XKBGAlloc.c b/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
index ac757232e..bfbd0c325 100644
--- a/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
+++ b/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
@@ -702,7 +702,8 @@ register XkbKeyAliasPtr alias;
     for (i=0,alias=geom->key_aliases;i<geom->num_key_aliases;i++,alias++) {
 	if (strncmp(alias->alias,aliasStr,XkbKeyNameLength)==0) {
 	    bzero(alias->real,XkbKeyNameLength);
-	    strncpy(alias->real,realStr,XkbKeyNameLength);
+	    memcpy(alias->real, realStr,
+		   min(XkbKeyNameLength, strlen(realStr)));
 	    return alias;
 	}
     }
@@ -712,8 +713,8 @@ register XkbKeyAliasPtr alias;
     }
     alias= &geom->key_aliases[geom->num_key_aliases];
     bzero(alias,sizeof(XkbKeyAliasRec));
-    strncpy(alias->alias,aliasStr,XkbKeyNameLength);
-    strncpy(alias->real,realStr,XkbKeyNameLength);
+    memcpy(alias->alias, aliasStr, min(XkbKeyNameLength, strlen(aliasStr)));
+    memcpy(alias->real, realStr, min(XkbKeyNameLength, strlen(realStr)));
     geom->num_key_aliases++;
     return alias;
 }
@@ -930,8 +931,8 @@ Bool		found;
     if ((row->num_keys>=row->sz_keys)&&(_XkbAllocOverlayKeys(row,1)!=Success))
 	return NULL;
     key= &row->keys[row->num_keys];
-    strncpy(key->under.name,under,XkbKeyNameLength);
-    strncpy(key->over.name,over,XkbKeyNameLength);
+    memcpy(key->under.name, under, min(XkbKeyNameLength, strlen(under)));
+    memcpy(key->over.name, over, min(XkbKeyNameLength, strlen(over)));
     row->num_keys++;
     return key;
 }

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list