Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libcloudproviders for 
openSUSE:Factory checked in at 2023-11-13 22:16:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcloudproviders (Old)
 and      /work/SRC/openSUSE:Factory/.libcloudproviders.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libcloudproviders"

Mon Nov 13 22:16:11 2023 rev:10 rq:1124866 version:0.3.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/libcloudproviders/libcloudproviders.changes      
2023-09-20 13:21:28.718070415 +0200
+++ 
/work/SRC/openSUSE:Factory/.libcloudproviders.new.17445/libcloudproviders.changes
   2023-11-13 22:16:37.818134814 +0100
@@ -1,0 +2,6 @@
+Thu Nov  9 16:51:15 UTC 2023 - Bjørn Lie <[email protected]>
+
+- Update to version 0.3.5:
+  + Avoid use after free with g_bus_get
+
+-------------------------------------------------------------------

Old:
----
  libcloudproviders-0.3.4.tar.xz

New:
----
  libcloudproviders-0.3.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libcloudproviders.spec ++++++
--- /var/tmp/diff_new_pack.G4AmIf/_old  2023-11-13 22:16:38.778170161 +0100
+++ /var/tmp/diff_new_pack.G4AmIf/_new  2023-11-13 22:16:38.778170161 +0100
@@ -19,7 +19,7 @@
 %define _typelibdir %(pkg-config --variable=typelibdir 
gobject-introspection-1.0)
 %define _girdir %(pkg-config --variable=girdir gobject-introspection-1.0)
 Name:           libcloudproviders
-Version:        0.3.4
+Version:        0.3.5
 Release:        0
 Summary:        Library/Client to integrate cloud storage providers
 License:        LGPL-3.0-or-later

++++++ libcloudproviders-0.3.4.tar.xz -> libcloudproviders-0.3.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.4/CHANGELOG 
new/libcloudproviders-0.3.5/CHANGELOG
--- old/libcloudproviders-0.3.4/CHANGELOG       2023-09-06 16:14:23.000000000 
+0200
+++ new/libcloudproviders-0.3.5/CHANGELOG       2023-11-08 21:15:01.000000000 
+0100
@@ -1,3 +1,7 @@
+0.3.5
+-----
+* Avoid use after free with g_bus_get
+
 0.3.4
 -----
 * Re-release du to release tarball issue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.4/meson.build 
new/libcloudproviders-0.3.5/meson.build
--- old/libcloudproviders-0.3.4/meson.build     2023-09-06 16:14:23.000000000 
+0200
+++ new/libcloudproviders-0.3.5/meson.build     2023-11-08 21:15:01.000000000 
+0100
@@ -1,5 +1,5 @@
 project ('libcloudproviders', 'c',
-  version: '0.3.4',
+  version: '0.3.5',
   meson_version: '>=0.54.0',
   license: 'LGPL3+',
   default_options: [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.4/src/cloudproviderscollector.c 
new/libcloudproviders-0.3.5/src/cloudproviderscollector.c
--- old/libcloudproviders-0.3.4/src/cloudproviderscollector.c   2023-09-06 
16:14:23.000000000 +0200
+++ new/libcloudproviders-0.3.5/src/cloudproviderscollector.c   2023-11-08 
21:15:01.000000000 +0100
@@ -69,18 +69,22 @@
                  GAsyncResult *res,
                  gpointer      user_data)
 {
-  CloudProvidersCollector *self = CLOUD_PROVIDERS_COLLECTOR (user_data);
-  g_autoptr(GError) error = NULL;
+    CloudProvidersCollector *self;
+    g_autoptr(GError) error = NULL;
+    GDBusConnection *connection;
 
-  self->bus = g_bus_get_finish (res, &error);
-  if (error != NULL)
+    connection = g_bus_get_finish (res, &error);
+    if (error != NULL)
     {
-      if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-        g_debug ("Error acquiring bus for cloud providers: %s", 
error->message);
-      return;
+        if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+            g_debug ("Error acquiring bus for cloud providers: %s", 
error->message);
+        return;
     }
 
-  update_cloud_providers (self);
+    /* The CloudProvidersCollector could be destroyed before arriving here */
+    self = CLOUD_PROVIDERS_COLLECTOR (user_data);
+    self->bus = g_steal_pointer (&connection);
+    update_cloud_providers (self);
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.4/src/cloudprovidersprovider.c 
new/libcloudproviders-0.3.5/src/cloudprovidersprovider.c
--- old/libcloudproviders-0.3.4/src/cloudprovidersprovider.c    2023-09-06 
16:14:23.000000000 +0200
+++ new/libcloudproviders-0.3.5/src/cloudprovidersprovider.c    2023-11-08 
21:15:01.000000000 +0100
@@ -357,16 +357,20 @@
                            GAsyncResult *res,
                            gpointer      user_data)
 {
-    CloudProvidersProvider *self = CLOUD_PROVIDERS_PROVIDER (user_data);
+    CloudProvidersProvider *self;
     g_autoptr(GError) error = NULL;
+    GDBusObjectManager *manager;
 
-    self->manager = cloud_providers_dbus_object_manager_client_new_finish 
(res, &error);
+    manager = cloud_providers_dbus_object_manager_client_new_finish (res, 
&error);
     if (error != NULL)
     {
         g_printerr ("Error getting object manager client: %s", error->message);
         return;
     }
 
+    /* The CloudProvidersProvider could be destroyed before arriving here */
+    self = CLOUD_PROVIDERS_PROVIDER (user_data);
+    self->manager = g_steal_pointer (&manager);
     g_signal_connect (self->manager, "notify::name-owner",
                       G_CALLBACK 
(on_cloud_providers_object_manager_name_owner_changed),
                       self);
@@ -385,24 +389,28 @@
                  GAsyncResult *res,
                  gpointer      user_data)
 {
-  CloudProvidersProvider *self = CLOUD_PROVIDERS_PROVIDER (user_data);
-  g_autoptr(GError) error = NULL;
+    CloudProvidersProvider *self;
+    g_autoptr(GError) error = NULL;
+    GDBusConnection *connection;
 
-  self->bus = g_bus_get_finish (res, &error);
-  if (error != NULL)
+    connection = g_bus_get_finish (res, &error);
+    if (error != NULL)
     {
-      if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-        g_debug ("Error acquiring bus for cloud provider: %s", error->message);
-      return;
+        if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+            g_debug ("Error acquiring bus for cloud provider: %s", 
error->message);
+        return;
     }
 
-  cloud_providers_dbus_object_manager_client_new (self->bus,
-                                                  
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
-                                                  self->manager_bus_name,
-                                                  self->manager_object_path,
-                                                  self->cancellable,
-                                                  on_object_manager_created,
-                                                  self);
+    /* The CloudProvidersProvider could be destroyed before arriving here */
+    self = CLOUD_PROVIDERS_PROVIDER (user_data);
+    self->bus = g_steal_pointer (&connection);
+    cloud_providers_dbus_object_manager_client_new (self->bus,
+                                                    
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
+                                                    self->manager_bus_name,
+                                                    self->manager_object_path,
+                                                    self->cancellable,
+                                                    on_object_manager_created,
+                                                    self);
 }
 
 
@@ -434,3 +442,4 @@
     return self->accounts;
 }
 
+

Reply via email to