[gvfs] admin: Prevent core dumps when daemon is manually started



commit a9362fa81bc96d7cf2b8730b4f62da829f050946
Author: Ondrej Holy <oholy redhat com>
Date:   Tue Apr 30 10:36:34 2019 +0200

    admin: Prevent core dumps when daemon is manually started
    
    Use `g_printerr ()` instead of `g_error ()` in order to prevent core
    dumps when starting the gvfsd-admin daemon manually without pkexec, or
    with wrong commandline arguments.
    
    Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/395

 daemon/gvfsbackendadmin.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c
index db76aff9..7b14e7a0 100644
--- a/daemon/gvfsbackendadmin.c
+++ b/daemon/gvfsbackendadmin.c
@@ -957,7 +957,10 @@ g_vfs_backend_admin_pre_setup (int *argc,
 
   pkexec_uid = g_getenv ("PKEXEC_UID");
   if (pkexec_uid == NULL)
-    g_error ("gvfsd-admin must be executed under pkexec");
+    {
+      g_printerr ("gvfsd-admin must be executed under pkexec\n");
+      exit (1);
+    }
 
   errno = 0;
   uid = strtol (pkexec_uid, NULL, 10);
@@ -970,7 +973,11 @@ g_vfs_backend_admin_pre_setup (int *argc,
   g_option_context_parse (context, argc, argv, &error);
   g_option_context_free (context);
   if (error != NULL)
-    g_error ("Can't parse arguments: %s", error->message);
+    {
+      g_printerr ("Can't parse arguments: %s", error->message);
+      g_error_free (error);
+      exit (1);
+    }
 
   acquire_caps (uid);
   g_setenv ("DBUS_SESSION_BUS_ADDRESS", session_address, TRUE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]