diff options
author | Tomas Carnecky <tom@dbservice.com> | 2009-12-06 23:52:54 +0100 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-12-11 11:37:36 +1000 |
commit | 92d9cb7e1340b259294ba317ea3a7d18487498b5 (patch) | |
tree | 6ec02f892cec96ef0bd29c279a56c52e57a21edc /xkb/xkb.c | |
parent | df2635d4644d1fa2772ff58d8d34cdf788ece412 (diff) |
XkbWriteCountedString(): return early if str is NULL
This avoids NULL from being passed to memcpy() later in the code. While
that wasn't an issue before - that value being NULL implied 'size == 0'
so memcpy() wouldn't try to dereference it - it made the code harder
to read and also confused clang.
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'xkb/xkb.c')
-rw-r--r-- | xkb/xkb.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -4298,9 +4298,12 @@ ProcXkbSetNames(ClientPtr client) static char * XkbWriteCountedString(char *wire,char *str,Bool swap) { -CARD16 len,*pLen; + CARD16 len,*pLen; - len= (str?strlen(str):0); + if (!str) + return wire; + + len= strlen(str); pLen= (CARD16 *)wire; *pLen= len; if (swap) { |