[PATCH] [xkb] XkbWriteCountedString(): return early if str is NULL
Peter Hutterer
peter.hutterer at who-t.net
Sun Dec 6 17:10:16 PST 2009
On Sun, Dec 06, 2009 at 11:52:54PM +0100, Tomas Carnecky wrote:
> 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 at dbservice.com>
> ---
> xkb/xkb.c | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/xkb/xkb.c b/xkb/xkb.c
> index 98e879d..00ae29c 100644
> --- a/xkb/xkb.c
> +++ b/xkb/xkb.c
> @@ -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) {
> --
> 1.6.5.4
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
merged into my tree, will be in my next pull request.
Cheers,
Peter
More information about the xorg-devel
mailing list