Mesa (master): egl/dri2: Fix const pointer duplication, prevent unitialized variable dereference.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu May 12 14:24:51 UTC 2011


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu May 12 15:23:02 2011 +0100

egl/dri2: Fix const pointer duplication, prevent unitialized variable dereference.

Based on zhigang gong <zhigang.gong at gmail.com>'s patch.

---

 src/egl/drivers/dri2/platform_drm.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c
index 261cbfe..9811b28 100644
--- a/src/egl/drivers/dri2/platform_drm.c
+++ b/src/egl/drivers/dri2/platform_drm.c
@@ -581,7 +581,8 @@ dri2_get_device_name(int fd)
    struct udev *udev;
    struct udev_device *device;
    struct stat buf;
-   char *device_name;
+   const char *const_device_name;
+   char *device_name = NULL;
 
    udev = udev_new();
    if (fstat(fd, &buf) < 0) {
@@ -596,10 +597,11 @@ dri2_get_device_name(int fd)
       goto out;
    }
 
-   device_name = udev_device_get_devnode(device);
-   if (!device_name)
-	   goto out;
-   device_name = strdup(device_name);
+   const_device_name = udev_device_get_devnode(device);
+   if (!const_device_name) {
+      goto out;
+   }
+   device_name = strdup(const_device_name);
 
  out:
    udev_device_unref(device);




More information about the mesa-commit mailing list