Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > d4c142c02821657e5febe0c93be3dd20 > files > 1

dconf-0.32.0-2.mga7.src.rpm

diff -Naur a/shm/dconf-shm.c b/shm/dconf-shm.c
--- a/shm/dconf-shm.c	2013-03-14 20:27:40.000000000 +0200
+++ b/shm/dconf-shm.c	2013-11-17 23:54:03.795688731 +0200
@@ -32,9 +32,18 @@
 {
   static gchar *shmdir;
 
-  if (g_once_init_enter (&shmdir))
-    g_once_init_leave (&shmdir, g_build_filename (g_get_user_runtime_dir (), "dconf", NULL));
+  if (g_once_init_enter (&shmdir)){
+    /* if user is root, he has the ability to overwrite the other users'
+     dconf runtime directory, hence hanging their sessions, despite
+     the 0700 permissions. Make root always use his home dir instead
+     of the common runtime one.
+   */
 
+    if (getuid() != 0)
+        g_once_init_leave (&shmdir, g_build_filename (g_get_user_runtime_dir (), "dconf", NULL));
+    else
+        g_once_init_leave (&shmdir, g_build_filename (g_get_home_dir (), ".cache", "dconf", NULL));
+  }
   return shmdir;
 }