]> xenbits.xensource.com Git - libvirt.git/commitdiff
* src/remote_internal.c: remove file descriptors leak
authorDaniel Veillard <veillard@redhat.com>
Tue, 17 Mar 2009 11:00:56 +0000 (11:00 +0000)
committerDaniel Veillard <veillard@redhat.com>
Tue, 17 Mar 2009 11:00:56 +0000 (11:00 +0000)
daniel

ChangeLog
src/remote_internal.c

index 6ea5df5b64e309b4ceb0b2e031bc1d0284fc2d35..ffa6b0cd7af863657b64c8b58e3f4ad82e5de15f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Mar 17 11:58:58 CET 2009 Daniel Veillard <veillard@redhat.com>
+
+       * src/remote_internal.c: remove file descriptors leak
+
 Mon Mar 16 13:17:05 EDT 2009 Cole Robinson <crobinso@redhat.com>
 
        * src/libvirt.c: Don't allow readonly connections to dump secure xml.
index 1a8b4e0e243486fc71c1f16a5590f60dca4b62b0..9e6304b1166123956eb4f2c848ef864466b459c9 100644 (file)
@@ -332,7 +332,7 @@ doRemoteOpen (virConnectPtr conn,
               virConnectAuthPtr auth ATTRIBUTE_UNUSED,
               int flags)
 {
-    int wakeupFD[2];
+    int wakeupFD[2] = { -1, -1 };
     char *transport_str = NULL;
 
     if (conn->uri) {
@@ -885,6 +885,11 @@ doRemoteOpen (virConnectPtr conn,
 #endif
     }
 
+    if (wakeupFD[0] >= 0) {
+        close(wakeupFD[0]);
+        close(wakeupFD[1]);
+    }
+
     VIR_FREE(priv->hostname);
     goto cleanup;
 }
@@ -1350,6 +1355,11 @@ doRemoteClose (virConnectPtr conn, struct private_data *priv)
         } while (reap != -1 && reap != priv->pid);
     }
 #endif
+    if (priv->wakeupReadFD >= 0) {
+        close(priv->wakeupReadFD);
+        close(priv->wakeupSendFD);
+    }
+
 
     /* Free hostname copy */
     free (priv->hostname);