diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/install.c | 17 | ||||
-rw-r--r-- | src/update-desktop-database.c | 4 | ||||
-rw-r--r-- | src/validator.c | 11 |
3 files changed, 30 insertions, 2 deletions
diff --git a/src/install.c b/src/install.c index fba3a7c..915ed58 100644 --- a/src/install.c +++ b/src/install.c @@ -837,6 +837,13 @@ main (int argc, char **argv) mode_t dir_permissions; char *basename; +#ifdef HAVE_PLEDGE + if (pledge ("stdio rpath wpath cpath fattr", NULL) == -1) { + g_printerr ("pledge\n"); + return 1; + } +#endif + setlocale (LC_ALL, ""); basename = g_path_get_basename (argv[0]); @@ -854,6 +861,16 @@ main (int argc, char **argv) g_option_group_add_entries (group, install_options); g_option_context_add_group (context, group); } +#ifdef HAVE_PLEDGE + else + { + /* In edit mode we can drop the fattr pledge. */ + if (pledge ("stdio rpath wpath cpath", NULL) == -1) { + g_printerr ("pledge in edit_mode\n"); + return 1; + } + } +#endif group = g_option_group_new ("edit", _("Edition options for desktop file"), _("Show desktop file edition options"), NULL, NULL); g_option_group_add_entries (group, edit_options); diff --git a/src/update-desktop-database.c b/src/update-desktop-database.c index b1bca9c..5a8dc56 100644 --- a/src/update-desktop-database.c +++ b/src/update-desktop-database.c @@ -451,8 +451,8 @@ main (int argc, { NULL } }; -#if HAVE_PLEDGE - if (pledge("stdio rpath wpath cpath fattr", NULL) == -1) { +#ifdef HAVE_PLEDGE + if (pledge ("stdio rpath wpath cpath fattr", NULL) == -1) { g_printerr ("pledge\n"); return 1; } diff --git a/src/validator.c b/src/validator.c index 104369d..151d507 100644 --- a/src/validator.c +++ b/src/validator.c @@ -28,6 +28,10 @@ #include <locale.h> +#ifdef HAVE_PLEDGE +#include <unistd.h> +#endif + #include "validate.h" static gboolean warn_kde = FALSE; @@ -51,6 +55,13 @@ main (int argc, char *argv[]) int i; gboolean all_valid; +#ifdef HAVE_PLEDGE + if (pledge ("stdio rpath", NULL) == -1) { + g_printerr ("pledge\n"); + return 1; + } +#endif + setlocale (LC_ALL, ""); context = g_option_context_new (NULL); |