aboutsummaryrefslogtreecommitdiffstats
path: root/src/firejail/profile.c
diff options
context:
space:
mode:
authorLibravatar Topi Miettinen <toiwoton@gmail.com>2017-07-30 22:33:56 +0300
committerLibravatar Topi Miettinen <toiwoton@gmail.com>2017-07-30 22:36:16 +0300
commit8d5b39766410b6d6eba7e6805691fceb88eca004 (patch)
tree335b91375f891af22912ba39ec77f9d8596bbe85 /src/firejail/profile.c
parentMemory-deny-write-execute feature (diff)
downloadfirejail-8d5b39766410b6d6eba7e6805691fceb88eca004.tar.gz
firejail-8d5b39766410b6d6eba7e6805691fceb88eca004.tar.zst
firejail-8d5b39766410b6d6eba7e6805691fceb88eca004.zip
Fixes for the private-lib and memory-deny-write-execute features
Diffstat (limited to 'src/firejail/profile.c')
-rw-r--r--src/firejail/profile.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index 6d5ee349c..972f5932d 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -596,7 +596,7 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
596 } 596 }
597 597
598 // memory deny write&execute 598 // memory deny write&execute
599 if (strncmp(ptr, "memory-deny-write-execute ", sizeof("memory-deny-write-execute ") - 1) == 0) { 599 if (strcmp(ptr, "memory-deny-write-execute") == 0) {
600#ifdef HAVE_SECCOMP 600#ifdef HAVE_SECCOMP
601 if (checkcfg(CFG_SECCOMP)) 601 if (checkcfg(CFG_SECCOMP))
602 arg_memory_deny_write_execute = 1; 602 arg_memory_deny_write_execute = 1;
@@ -861,12 +861,14 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
861 } 861 }
862 862
863 // private /lib list of files 863 // private /lib list of files
864 if (strncmp(ptr, "private-lib ", 12) == 0) { 864 if (strncmp(ptr, "private-lib", 11) == 0) {
865 if (cfg.lib_private_keep) { 865 if (ptr[11] == ' ') {
866 if (asprintf(&cfg.lib_private_keep, "%s,%s", cfg.lib_private_keep, ptr + 12) < 0 ) 866 if (cfg.lib_private_keep) {
867 errExit("asprintf"); 867 if (ptr[12] != '\0' && asprintf(&cfg.lib_private_keep, "%s,%s", cfg.lib_private_keep, ptr + 12) < 0)
868 } else { 868 errExit("asprintf");
869 cfg.lib_private_keep = ptr + 12; 869 } else {
870 cfg.lib_private_keep = ptr + 12;
871 }
870 } 872 }
871 arg_private_lib = 1; 873 arg_private_lib = 1;
872 return 0; 874 return 0;