From aae4238360b842ac34dc8ee16e165a1821f9a801 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Sat, 25 Mar 2006 20:17:58 +0000 Subject: [PATCH] Fix two glaring unconditional-NULL-dereferences. --- ChangeLog | 6 ++++++ xkb/xkbUtils.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index ddaefbca1..c7071d9d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-03-25 Daniel Stone + + * xkb/xkbUtils.c: + Fix two of the more glaring unconditional-NULL-dereference screwups. + There are many more left. + 2006-03-25 Adam Jackson * hw/xfree86/common/xf86Bus.c: diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c index f3c3ff8ca..70fb9e412 100644 --- a/xkb/xkbUtils.c +++ b/xkb/xkbUtils.c @@ -682,6 +682,9 @@ CARD16 grp_mask; XkbStatePtr state= &xkbi->state; XkbCompatMapPtr map; + if (!state || !xkbi->desc || !xkbi->desc->ctrls || !xkbi->desc->compat) + return; + map= xkbi->desc->compat; grp_mask= map->groups[state->group].mask; state->compat_state = state->mods|grp_mask; @@ -741,6 +744,9 @@ XkbStatePtr state= &xkbi->state; XkbControlsPtr ctrls= xkbi->desc->ctrls; unsigned char grp; + if (!state || !ctrls) + return; + state->mods= (state->base_mods|state->latched_mods); state->mods|= state->locked_mods; state->lookup_mods= state->mods&(~ctrls->internal.mask);