summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2009-09-13 19:46:48 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2009-09-13 19:46:48 +0000
commit0e066b689f87a1bf6eced889b40c6066dfeed0f3 (patch)
tree518d4280aed39fb81941c24041b886258fb18967 /driver
parentfbed40d3d06d0ddf2fdba36882425fd83ec6266b (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.c5
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) {