Fix double-free in error case.
authorMarcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
Mon, 15 Mar 2010 14:39:45 +0000 (15:39 +0100)
committerThiago Macieira <thiago@kde.org>
Mon, 15 Mar 2010 16:08:40 +0000 (17:08 +0100)
Signed-off-by: Thiago Macieira <thiago@kde.org>
dbus/dbus-transport-socket.c

index 8be4d13..05d7d91 100644 (file)
@@ -1288,16 +1288,14 @@ _dbus_transport_new_for_tcp_socket (const char     *host,
                  host, port);
   
   transport = _dbus_transport_new_for_socket (fd, NULL, &address);
+  _dbus_string_free (&address);
   if (transport == NULL)
     {
       dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
       _dbus_close_socket (fd, NULL);
-      _dbus_string_free (&address);
       fd = -1;
     }
 
-  _dbus_string_free (&address);
-  
   return transport;
 
 error: