diff --git a/ChangeLog b/ChangeLog index 324f59aea..eb03ab973 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,10 @@ (To those wondering about the date: Yes, this is me doing an Xprint commit, but it fixes the --disable-xprint path, so.) + * xkb/xkb.c: (XkbSizeVirtualModMap): + Bug #6428: Fix off-by-one error when walking off the end of the + vmodmap list. + 2006-03-31 Eric Anholt * exa/exa_unaccel.c: (ExaCheckComposite): diff --git a/xkb/xkb.c b/xkb/xkb.c index 3cdf4d124..fdfd2f3cd 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -1255,7 +1255,7 @@ XkbSizeVirtualModMap(XkbDescPtr xkb,xkbGetMapReply *rep) rep->totalVModMapKeys= 0; return 0; } - for (nRtrn=i=0;inVModMapKeys;i++) { + for (nRtrn=i=0;inVModMapKeys-1;i++) { if (xkb->server->vmodmap[i+rep->firstVModMapKey]!=0) nRtrn++; }