modesetting: clean up leaks

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
This commit is contained in:
Maarten Lankhorst 2013-03-26 15:19:33 +01:00
parent 1754973206
commit 6b79a8791d

View File

@ -530,15 +530,27 @@ static void msBlockHandler(BLOCKHANDLER_ARGS_DECL)
static void static void
FreeRec(ScrnInfoPtr pScrn) FreeRec(ScrnInfoPtr pScrn)
{ {
modesettingPtr ms;
if (!pScrn) if (!pScrn)
return; return;
if (!pScrn->driverPrivate) ms = modesettingPTR(pScrn);
if (!ms)
return; return;
free(pScrn->driverPrivate);
pScrn->driverPrivate = NULL; pScrn->driverPrivate = NULL;
if (ms->fd > 0) {
int ret;
if (ms->pEnt->location.type == BUS_PCI)
ret = drmClose(ms->fd);
else
ret = close(ms->fd);
}
free(ms->Options);
free(ms);
} }
static Bool static Bool