Mesa (master): nouveau: avoid leaking screen on initialization fail

Ilia Mirkin imirkin at kemper.freedesktop.org
Sat Sep 13 15:21:58 UTC 2014


Module: Mesa
Branch: master
Commit: 2e86432cc1bda7ff4f196083455baf1fb9eae40c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e86432cc1bda7ff4f196083455baf1fb9eae40c

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Sep 13 11:06:17 2014 -0400

nouveau: avoid leaking screen on initialization fail

Reported by Coverity

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 src/mesa/drivers/dri/nouveau/nouveau_screen.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
index 766ae6f..150dd8e 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
@@ -95,6 +95,8 @@ nouveau_init_screen2(__DRIscreen *dri_screen)
 	if (!screen)
 		return NULL;
 
+	dri_screen->driverPrivate = screen;
+
 	/* Open the DRM device. */
 	ret = nouveau_device_wrap(dri_screen->fd, 0, &screen->device);
 	if (ret) {
@@ -119,10 +121,11 @@ nouveau_init_screen2(__DRIscreen *dri_screen)
 		dri_screen->max_gl_es1_version = 10;
 		break;
 	default:
-		assert(0);
+		nouveau_error("Unknown chipset: %02X\n",
+			      screen->device->chipset);
+		goto fail;
 	}
 
-	dri_screen->driverPrivate = screen;
 	dri_screen->extensions = nouveau_screen_extensions;
 	screen->dri_screen = dri_screen;
 




More information about the mesa-commit mailing list