From b36eeb713a349961a6be8a6dd183ded6d27f9974 Mon Sep 17 00:00:00 2001 From: Tiago Vignatti Date: Tue, 20 Apr 2010 16:26:02 +0300 Subject: [PATCH] xkb: check for NULL pointer before dereferences it in XkbWriteXKBSymbols move srv assignment to before it's being used. Also, check for xkb being nil. Signed-off-by: Tiago Vignatti Reviewed-by: Peter Hutterer --- xkb/xkbout.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/xkb/xkbout.c b/xkb/xkbout.c index 68ede902f..082c85ee9 100644 --- a/xkb/xkbout.c +++ b/xkb/xkbout.c @@ -353,9 +353,13 @@ XkbClientMapPtr map; XkbServerMapPtr srv; Bool showActions; + if (!xkb) { + _XkbLibError(_XkbErrMissingSymbols,"XkbWriteXKBSymbols",0); + return FALSE; + } + map= xkb->map; - srv= xkb->server; - if ((!xkb)||(!map)||(!map->syms)||(!map->key_sym_map)) { + if ((!map)||(!map->syms)||(!map->key_sym_map)) { _XkbLibError(_XkbErrMissingSymbols,"XkbWriteXKBSymbols",0); return FALSE; } @@ -376,6 +380,7 @@ Bool showActions; } if (tmp>0) fprintf(file,"\n"); + srv= xkb->server; for (i=xkb->min_key_code;i<=xkb->max_key_code;i++) { Bool simple; if ((int)XkbKeyNumSyms(xkb,i)<1)