doPolyText needs UseAccess to each font, not ReadAccess.

In commit 42d6112ec2, Eamon changed
dixChangeGC to require DixUseAccess on any GCFont XID. I think
doPolyText needs to require the same level of access. Otherwise
dixChangeGC could fail when it does the same lookup, which doPolyText
doesn't check for.

Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Eamon Walsh <ewalsh@tycho.nsa.gov>
Reviewed-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
This commit is contained in:
Jamey Sharp 2010-05-08 15:19:03 -07:00
parent 59857ee5da
commit afcbbd6dfe

View File

@ -1235,7 +1235,7 @@ doPolyText(ClientPtr client, PTclosurePtr c)
| ((Font)*(c->pElt+2)) << 16
| ((Font)*(c->pElt+1)) << 24;
err = dixLookupResourceByType((pointer *)&pFont, fid, RT_FONT,
client, DixReadAccess);
client, DixUseAccess);
if (err != Success)
{
err = (err == BadValue) ? BadFont : err;