]> code.delx.au - pulseaudio/commitdiff
core: Fix resource leak in core-util
authorPeter Meerwald <p.meerwald@bct-electronic.com>
Mon, 16 Dec 2013 15:35:50 +0000 (16:35 +0100)
committerPeter Meerwald <p.meerwald@bct-electronic.com>
Fri, 20 Dec 2013 11:54:18 +0000 (12:54 +0100)
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8477&defectInstanceId=3693&mergedDefectId=591269

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
src/pulsecore/core-util.c

index 2efa280eebe6b7ccae0e85456c7e54c346fd6a2c..0d9e354d16cf993a443e3b258d40d8063111a108 100644 (file)
@@ -326,16 +326,20 @@ again:
         goto fail;
     }
 
-    if (!update_perms)
+    if (!update_perms) {
+        pa_assert_se(pa_close(fd) >= 0);
         return 0;
+    }
 
 #ifdef HAVE_FCHOWN
     if (uid == (uid_t) -1)
         uid = getuid();
     if (gid == (gid_t) -1)
         gid = getgid();
-    if (fchown(fd, uid, gid) < 0)
+    if (fchown(fd, uid, gid) < 0) {
+        pa_assert_se(pa_close(fd) >= 0);
         goto fail;
+    }
 #endif
 
 #ifdef HAVE_FCHMOD