diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2009-09-13 19:46:48 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2009-09-13 19:46:48 +0000 |
commit | 0e066b689f87a1bf6eced889b40c6066dfeed0f3 (patch) | |
tree | 518d4280aed39fb81941c24041b886258fb18967 /driver | |
parent | fbed40d3d06d0ddf2fdba36882425fd83ec6266b (diff) |
Same fix as in wsfb:
Call shadowRemove() in wsfbCloseScreen(). This fixes a free
memory dereference on exit. Hint by Daniel Stone. Thanks.
Diffstat (limited to 'driver')
-rw-r--r-- | driver/xf86-video-wildcatfb/src/wildcatfb_driver.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/driver/xf86-video-wildcatfb/src/wildcatfb_driver.c b/driver/xf86-video-wildcatfb/src/wildcatfb_driver.c index 1aa8339d6..4294a0ccc 100644 --- a/driver/xf86-video-wildcatfb/src/wildcatfb_driver.c +++ b/driver/xf86-video-wildcatfb/src/wildcatfb_driver.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wildcatfb_driver.c,v 1.1 2009/01/01 19:29:22 miod Exp $ */ +/* $OpenBSD: wildcatfb_driver.c,v 1.2 2009/09/13 19:46:47 matthieu Exp $ */ /* * Copyright (c) 2009 Miodrag Vallat. @@ -753,9 +753,12 @@ WildcatFBCloseScreen(int scrnIndex, ScreenPtr pScreen) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; WildcatFBPtr fPtr = WILDCATFBPTR(pScrn); + PixmapPtr pPixmap = pScreen->GetScreenPixmap(pScreen); TRACE_ENTER("WildcatFBCloseScreen"); + shadowRemove(pScreen, pPixmap); + if (pScrn->vtSema) { WildcatFBRestore(pScrn); if (munmap(fPtr->ov0, fPtr->ov_len) == -1) { |