I was just looking at the patches proposed for 1.6.3 and found the
following change:

@ -517,13 +523,19 @@ connect_and_register(DBusConnection *connection, struct 
config_hal_info *info)
 
     return TRUE;
 
-out_ctx2:
-    if (!libhal_ctx_shutdown(info->hal_ctx, &error))
-        LogMessage(X_WARNING, "config/hal: couldn't shut down context: %s 
(%s)\n",
-                  error.name ? error.name : "unknown error",
-                  error.message ? error.message : "null");
 out_ctx:
-    libhal_ctx_free(info->hal_ctx);
+    dbus_error_free(&error);
+
+    if (info->hal_ctx) {
+        if (!libhal_ctx_shutdown(info->hal_ctx, &error)) {
+            LogMessage(X_WARNING, "config/hal: couldn't shut down context: %s 
(%s)\n",
+                      error.name ? error.name : "unknown error",
+                      error.message ? error.message : "null");
+            dbus_error_free(&error);
+        }
+        libhal_ctx_free(info->hal_ctx);
+    }
+
 out_err:
     dbus_error_free(&error);

Looks to me like dbus_error_free is called twice here. Surely that's wrong.
 
-- 
[email protected]

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to