aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-06-22 11:32:42 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-06-22 11:32:42 +0200
commitabf3741362f4c200945db6403fcd54df6754d4af (patch)
treeea7d12c03048fab6e0cbc7571b779c592d610512 /nx-X11/programs/Xserver/xkb/XKBGAlloc.c
parentc0754a35755cdd4e25386abc6378e07605845948 (diff)
parentc8a5e33fcdde322f486d6c69e7e16fa346793fc9 (diff)
downloadnx-libs-abf3741362f4c200945db6403fcd54df6754d4af.tar.gz
nx-libs-abf3741362f4c200945db6403fcd54df6754d4af.tar.bz2
nx-libs-abf3741362f4c200945db6403fcd54df6754d4af.zip
Merge branch 'uli42-pr/various' into 3.6.x
Attributes GH PR #815: https://github.com/ArcticaProject/nx-libs/pull/815
Diffstat (limited to 'nx-X11/programs/Xserver/xkb/XKBGAlloc.c')
-rw-r--r--nx-X11/programs/Xserver/xkb/XKBGAlloc.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/nx-X11/programs/Xserver/xkb/XKBGAlloc.c b/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
index b5a7cc317..bfbd0c325 100644
--- a/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
+++ b/nx-X11/programs/Xserver/xkb/XKBGAlloc.c
@@ -37,12 +37,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <xkbsrv.h>
#include "xkbgeom.h"
-#ifdef X_NOT_POSIX
-#define Size_t unsigned int
-#else
-#define Size_t size_t
-#endif
-
/***====================================================================***/
static void
@@ -463,7 +457,7 @@ _XkbGeomAlloc( XPointer * old,
unsigned short * num,
unsigned short * total,
int num_new,
- Size_t sz_elem)
+ size_t sz_elem)
{
if (num_new<1)
return Success;
@@ -708,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;
}
}
@@ -718,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;
}
@@ -936,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;
}