glx: Properly check for a valid fd in dri2CreateScreen().
authorHenri Verbeet <hverbeet@gmail.com>
Mon, 31 Jan 2011 17:09:19 +0000 (18:09 +0100)
committerBrian Paul <brianp@vmware.com>
Mon, 31 Jan 2011 17:54:04 +0000 (10:54 -0700)
Signed-off-by: Brian Paul <brianp@vmware.com>
src/glx/dri2_glx.c

index ab7915c02ee502c8869a1f37fb1b03a5c820c0f6..a275ba5b9fe534f9df23c5b636911af1585204cd 100644 (file)
@@ -804,6 +804,8 @@ dri2CreateScreen(int screen, struct glx_display * priv)
       return NULL;
 
    memset(psc, 0, sizeof *psc);
+   psc->fd = -1;
+
    if (!glx_screen_init(&psc->base, screen, priv)) {
       Xfree(psc);
       return NULL;
@@ -921,7 +923,7 @@ dri2CreateScreen(int screen, struct glx_display * priv)
    return &psc->base;
 
 handle_error:
-   if (psc->fd)
+   if (psc->fd >= 0)
       close(psc->fd);
    if (psc->driver)
       dlclose(psc->driver);