xkb: always set *mask_rtrn in XkbVirtualModsToReal
Resolves warning from Oracle Parfait static analyser: Error: Uninitialised memory Uninitialised memory variable [uninitialised-mem-var] (CWE 457): Possible access to uninitialised memory referenced by variable 'mask' at line 721 of xkb/XKBMisc.c in function 'XkbUpdateKeyTypeVirtualMods'. Path in callee avoiding write at line 720 mask allocated at line 718 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
parent
034e792662
commit
a6574033f4
|
@ -663,14 +663,14 @@ XkbVirtualModsToReal(XkbDescPtr xkb, unsigned virtual_mask, unsigned *mask_rtrn)
|
|||
register int i, bit;
|
||||
register unsigned mask;
|
||||
|
||||
if (xkb == NULL)
|
||||
if ((xkb == NULL) || (xkb->server == NULL)) {
|
||||
*mask_rtrn = 0;
|
||||
return FALSE;
|
||||
}
|
||||
if (virtual_mask == 0) {
|
||||
*mask_rtrn = 0;
|
||||
return TRUE;
|
||||
}
|
||||
if (xkb->server == NULL)
|
||||
return FALSE;
|
||||
for (i = mask = 0, bit = 1; i < XkbNumVirtualMods; i++, bit <<= 1) {
|
||||
if (virtual_mask & bit)
|
||||
mask |= xkb->server->vmods[i];
|
||||
|
|
Loading…
Reference in New Issue