REVOKED Re: [PATCH] xkb: Fix NULL pointer dereference in XkbAllocSrvLedInfo
Dirk Wallenstein
halsmit at t-online.de
Sat Jun 5 08:34:52 PDT 2010
On Sat, Jun 05, 2010 at 11:25:27AM +0200, Dirk Wallenstein wrote:
> Put the XkbSrvLedInfoRec allocation in front of the subsequent
> branching, and ensure a non-NULL pointer to the new record in a third
> branch that was missing that allocation.
>
> Signed-off-by: Dirk Wallenstein <halsmit at t-online.de>
> ---
> This is one item in the recent parfait results.
>
> xkb/xkbLEDs.c | 12 +++++-------
> 1 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
> index 6097f85..3a9d307 100644
> --- a/xkb/xkbLEDs.c
> +++ b/xkb/xkbLEDs.c
> @@ -521,12 +521,12 @@ XkbSrvLedInfoPtr sli;
> Bool checkAccel;
> Bool checkNames;
>
> - sli= NULL;
> + sli= calloc(1, sizeof(XkbSrvLedInfoRec));
> + if (sli==NULL)
> + return NULL; /* ALLOCATION ERROR */
> checkAccel= checkNames= FALSE;
> if ((kf!=NULL)&&(kf->xkb_sli==NULL)) {
> - kf->xkb_sli= sli= calloc(1, sizeof(XkbSrvLedInfoRec));
> - if (sli==NULL)
> - return NULL; /* ALLOCATION ERROR */
> + kf->xkb_sli= sli;
> if (dev->key && dev->key->xkbInfo)
> sli->flags= XkbSLI_HasOwnState;
> else sli->flags= 0;
> @@ -567,9 +567,7 @@ Bool checkNames;
> }
> }
> else if ((lf!=NULL)&&(lf->xkb_sli==NULL)) {
> - lf->xkb_sli= sli= calloc(1, sizeof(XkbSrvLedInfoRec));
> - if (sli==NULL)
> - return NULL; /* ALLOCATION ERROR */
> + lf->xkb_sli= sli;
> if (dev->key && dev->key->xkbInfo)
> sli->flags= XkbSLI_HasOwnState;
> else sli->flags= 0;
> --
> 1.7.1
A bad quickshot. Sorry.
--
Greetings,
Dirk
More information about the xorg-devel
mailing list