summaryrefslogtreecommitdiff
path: root/src/i830_exa.c
diff options
context:
space:
mode:
authorWang Zhenyu <zhenyu.z.wang@intel.com>2006-04-29 10:55:25 +0800
committerWang Zhenyu <zhenyu.z.wang@intel.com>2006-04-29 10:55:25 +0800
commitfcec956807038a2e90287850df8b4410b1f8b3c2 (patch)
treeaa57945366529a1a4d16024c025e5a5d194fe365 /src/i830_exa.c
parent0be9bc604420e4433697cc31e8ac58c9f36185e1 (diff)
Save initialize EXADriverPtr, and free it in failure.
Diffstat (limited to 'src/i830_exa.c')
-rw-r--r--src/i830_exa.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 6db94d97..59c2d51d 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -362,7 +362,8 @@ I830EXAInit(ScreenPtr pScreen)
pI830->noAccel = TRUE;
return FALSE;
}
-
+ memset(pI830->EXADriverPtr, 0, sizeof(*pI830->EXADriverPtr));
+
pI830->bufferOffset = 0;
pI830->EXADriverPtr->exa_major = 2;
pI830->EXADriverPtr->exa_minor = 0;
@@ -409,6 +410,7 @@ I830EXAInit(ScreenPtr pScreen)
#endif
if(!exaDriverInit(pScreen, pI830->EXADriverPtr)) {
+ xfree(pI830->EXADriverPtr);
pI830->noAccel = TRUE;
return FALSE;
}