Return BadMatch if a client tries to clone non-cloneable outputs.
This commit is contained in:
parent
d9bcb22d19
commit
8b24575884
|
@ -667,6 +667,27 @@ ProcRRSetCrtcConfig (ClientPtr client)
|
||||||
return BadMatch;
|
return BadMatch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* validate clones */
|
||||||
|
for (i = 0; i < numOutputs; i++)
|
||||||
|
{
|
||||||
|
for (j = 0; j < numOutputs; j++)
|
||||||
|
{
|
||||||
|
int k;
|
||||||
|
if (i == j)
|
||||||
|
continue;
|
||||||
|
for (k = 0; k < outputs[i]->numClones; k++)
|
||||||
|
{
|
||||||
|
if (outputs[i]->clones[k] == outputs[j])
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (k == outputs[i]->numClones)
|
||||||
|
{
|
||||||
|
if (outputs)
|
||||||
|
xfree (outputs);
|
||||||
|
return BadMatch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pScreen = crtc->pScreen;
|
pScreen = crtc->pScreen;
|
||||||
pScrPriv = rrGetScrPriv(pScreen);
|
pScrPriv = rrGetScrPriv(pScreen);
|
||||||
|
|
Loading…
Reference in New Issue