egl/dri2: Prevent uninitialized variable dereference.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 12 May 2011 14:23:48 +0000 (15:23 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 12 May 2011 14:23:48 +0000 (15:23 +0100)
src/egl/drivers/dri2/egl_dri2.c

index 1acec51a43370d81653b06a11981abc9c1c281d1..0e1a1b52a4cb1b06ddf9874ac8bac63f87141753 100644 (file)
@@ -205,8 +205,7 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
           */
          num_configs = 0;
    }
-
-   if (num_configs == 0) {
+   else if (num_configs == 0) {
       conf = malloc(sizeof *conf);
       if (conf == NULL)
          return NULL;
@@ -224,6 +223,10 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
 
       _eglLinkConfig(&conf->base);
    }
+   else {
+      assert(0);
+      return NULL;
+   }
 
    conf->base.SurfaceType |= surface_type & (!double_buffer ? EGL_PIXMAP_BIT:
          (EGL_WINDOW_BIT | EGL_PBUFFER_BIT | EGL_SWAP_BEHAVIOR_PRESERVED_BIT));