r39323 - in /desktop/unstable/clutter-1.0/debian: changelog patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch patches/series

biebl at users.alioth.debian.org biebl at users.alioth.debian.org
Tue Aug 27 16:54:29 UTC 2013


Author: biebl
Date: Tue Aug 27 16:54:29 2013
New Revision: 39323

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=39323
Log:
* debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch:
  - x11: trap errors when calling XIQueryDevice. Patch cherry-picked from
    upstream Git. (Closes: #714264)
  - Fixes: CVE-2013-2190, gnome-shell crash after system resume leaves
    screen unlocked.

Added:
    desktop/unstable/clutter-1.0/debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch
Modified:
    desktop/unstable/clutter-1.0/debian/changelog
    desktop/unstable/clutter-1.0/debian/patches/series

Modified: desktop/unstable/clutter-1.0/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/clutter-1.0/debian/changelog?rev=39323&op=diff
==============================================================================
--- desktop/unstable/clutter-1.0/debian/changelog	[utf-8] (original)
+++ desktop/unstable/clutter-1.0/debian/changelog	[utf-8] Tue Aug 27 16:54:29 2013
@@ -1,3 +1,13 @@
+clutter-1.0 (1.14.4-3) UNRELEASED; urgency=low
+
+  * debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch:
+    - x11: trap errors when calling XIQueryDevice. Patch cherry-picked from
+      upstream Git. (Closes: #714264)
+    - Fixes: CVE-2013-2190, gnome-shell crash after system resume leaves
+      screen unlocked.
+
+ -- Michael Biebl <biebl at debian.org>  Tue, 27 Aug 2013 18:47:45 +0200
+
 clutter-1.0 (1.14.4-2) unstable; urgency=low
 
   * Upload to unstable.

Added: desktop/unstable/clutter-1.0/debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/clutter-1.0/debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch?rev=39323&op=file
==============================================================================
--- desktop/unstable/clutter-1.0/debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch	(added)
+++ desktop/unstable/clutter-1.0/debian/patches/git_x11_trap_errors_when_calling_XIQueryDevice.patch	[utf-8] Tue Aug 27 16:54:29 2013
@@ -0,0 +1,65 @@
+commit e310c68d7b38d521e341f4e8a36f54303079d74e
+Author: Matthias Clasen <mclasen at redhat.com>
+Date:   Mon Jun 10 21:41:24 2013 -0400
+
+    x11: trap errors when calling XIQueryDevice
+    
+    Devices can disappear at any time, causing XIQueryDevice
+    to throw an error. At the same time, plug a memory leak.
+    
+    https://bugzilla.gnome.org/show_bug.cgi?id=701974
+
+diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c
+index 6a06cec..49ee212 100644
+--- a/clutter/x11/clutter-device-manager-xi2.c
++++ b/clutter/x11/clutter-device-manager-xi2.c
+@@ -408,10 +408,16 @@ translate_hierarchy_event (ClutterBackendX11       *backend_x11,
+ 
+           CLUTTER_NOTE (EVENT, "Hierarchy event: device enabled");
+ 
++          clutter_x11_trap_x_errors ();
+           info = XIQueryDevice (backend_x11->xdpy,
+                                 ev->info[i].deviceid,
+                                 &n_devices);
+-          add_device (manager_xi2, backend_x11, &info[0], FALSE);
++          clutter_x11_untrap_x_errors ();
++          if (info != NULL)
++            {
++              add_device (manager_xi2, backend_x11, &info[0], FALSE);
++              XIFreeDeviceInfo (info);
++            }
+         }
+       else if (ev->info[i].flags & XIDeviceDisabled)
+         {
+@@ -448,16 +454,24 @@ translate_hierarchy_event (ClutterBackendX11       *backend_x11,
+           /* and attach the slave to the new master if needed */
+           if (ev->info[i].flags & XISlaveAttached)
+             {
++              clutter_x11_trap_x_errors ();
+               info = XIQueryDevice (backend_x11->xdpy,
+                                     ev->info[i].deviceid,
+                                     &n_devices);
+-              master = g_hash_table_lookup (manager_xi2->devices_by_id,
+-                                            GINT_TO_POINTER (info->attachment));
+-              _clutter_input_device_set_associated_device (slave, master);
+-              _clutter_input_device_add_slave (master, slave);
+-
+-              send_changed = TRUE;
+-              XIFreeDeviceInfo (info);
++              clutter_x11_untrap_x_errors ();
++              if (info != NULL)
++                {
++                  master = g_hash_table_lookup (manager_xi2->devices_by_id,
++                                                GINT_TO_POINTER (info->attachment));
++                  if (master != NULL)
++                    {
++                      _clutter_input_device_set_associated_device (slave, master);
++                      _clutter_input_device_add_slave (master, slave);
++
++                      send_changed = TRUE;
++                    }
++                  XIFreeDeviceInfo (info);
++                }
+             }
+ 
+           if (send_changed)

Modified: desktop/unstable/clutter-1.0/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/clutter-1.0/debian/patches/series?rev=39323&op=diff
==============================================================================
--- desktop/unstable/clutter-1.0/debian/patches/series	[utf-8] (original)
+++ desktop/unstable/clutter-1.0/debian/patches/series	[utf-8] Tue Aug 27 16:54:29 2013
@@ -2,3 +2,4 @@
 git_limit_offscreen_fbo_size.patch
 git_fbo_size_check.patch
 git_cally_weak_pointer.patch
+git_x11_trap_errors_when_calling_XIQueryDevice.patch




More information about the pkg-gnome-commits mailing list