OSDN Git Service

freedreno: fix potential fd leak in error path
authorRob Clark <robclark@freedesktop.org>
Wed, 1 Jun 2016 18:35:06 +0000 (14:35 -0400)
committerRob Clark <robclark@freedesktop.org>
Wed, 20 Jul 2016 23:42:21 +0000 (19:42 -0400)
Signed-off-by: Rob Clark <robclark@freedesktop.org>
freedreno/freedreno_device.c

index 027414e..3da5c7c 100644 (file)
@@ -95,9 +95,12 @@ out:
  */
 struct fd_device * fd_device_new_dup(int fd)
 {
-       struct fd_device *dev = fd_device_new(dup(fd));
+       int dup_fd = dup(fd);
+       struct fd_device *dev = fd_device_new(dup_fd);
        if (dev)
                dev->closefd = 1;
+       else
+               close(dup_fd);
        return dev;
 }