summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2009-01-08 14:31:39 +1100
committerBen Skeggs <skeggsb@gmail.com>2009-01-08 14:32:26 +1100
commit9ab140d3d7f1cc132a982a032c0539ff2f088ac6 (patch)
tree6561fdaf06cbba0316d32afe6a6ac9ecb12ca598
parent0010e847d028a3b8946568e89917cc11fbb9085a (diff)
nv50: don't segfault if preinit fails before display setup done
-rw-r--r--src/nv50_connector.c3
-rw-r--r--src/nv50_crtc.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/nv50_connector.c b/src/nv50_connector.c
index 058f55b..fbe02b3 100644
--- a/src/nv50_connector.c
+++ b/src/nv50_connector.c
@@ -100,6 +100,9 @@ NV50ConnectorDestroy(ScrnInfoPtr pScrn)
for (i = 0; i < MAX_NUM_DCB_ENTRIES; i++) {
nouveauConnectorPtr connector = pNv->connector[i];
+ if (!connector)
+ continue;
+
xfree(connector->name);
xfree(connector);
pNv->connector[i] = NULL;
diff --git a/src/nv50_crtc.c b/src/nv50_crtc.c
index b1c0f16..aa4976d 100644
--- a/src/nv50_crtc.c
+++ b/src/nv50_crtc.c
@@ -550,6 +550,9 @@ NV50CrtcDestroy(ScrnInfoPtr pScrn)
for (i=0; i < 2; i++) {
nouveauCrtcPtr crtc = pNv->crtc[i];
+ if (!crtc)
+ continue;
+
xfree(crtc->name);
xfree(crtc);
pNv->crtc[i] = NULL;