Package: accountsservice Version: 0.6.37-3 Severity: normal Tags: patch Please apply the attached patch to accountsservice. It fixes a SEGFAULT crash caused by the creation of invalid DBus paths when users with UID number greater than 2^31 are present on the system. Because of a wrong format string, the UID number is rendered as a negative number, but DBus paths with "-" in them are invalid. So an assertion fails and triggers a segmentation fault.
Probably it is sensible to forward the patch upstream.
Thanks, Giovanni.
--- System information. ---
Architecture: amd64
Kernel: Linux 3.14-2-amd64
Debian Release: jessie/sid
500 unstable repos.fds-team.de
500 unstable ftp.ch.debian.org
500 stable dl.google.com
500 sid linux.dropbox.com
1 experimental ftp.ch.debian.org
--- Package information. ---
Depends (Version) | Installed
======================================-+-=============
dbus | 1.8.6-1
libaccountsservice0 (= 0.6.37-3) | 0.6.37-3
init-system-helpers (>= 1.18~) | 1.20
libc6 (>= 2.4) |
libglib2.0-0 (>= 2.37.3) |
libpolkit-gobject-1-0 (>= 0.99) |
Package's Recommends field is empty.
Suggests (Version) | Installed
===================================-+-===========
gnome-control-center | 1:3.12.1-4
--
Giovanni Mascellani <[email protected]>
PhD Student - Scuola Normale Superiore, Pisa, Italy
http://poisson.phc.unipi.it/~mascellani
Description: Fix generation of invalid DBus path Because of a wrong format string, when an UID number is bigger than 2^31 it is rendered as a negative number. This generates an invalid DBus path, because "-" is not allowed in DBus paths. Author: Giovanni Mascellani <[email protected]> --- accountsservice-0.6.37.orig/src/user.c +++ accountsservice-0.6.37/src/user.c @@ -722,7 +722,7 @@ compute_object_path (User *user) { gchar *object_path; - object_path = g_strdup_printf ("/org/freedesktop/Accounts/User%ld", + object_path = g_strdup_printf ("/org/freedesktop/Accounts/User%lu", (long) user->uid); return object_path;
signature.asc
Description: OpenPGP digital signature

