diff options
author | 2017-07-30 22:33:56 +0300 | |
---|---|---|
committer | 2017-07-30 22:36:16 +0300 | |
commit | 8d5b39766410b6d6eba7e6805691fceb88eca004 (patch) | |
tree | 335b91375f891af22912ba39ec77f9d8596bbe85 /src/firejail/profile.c | |
parent | Memory-deny-write-execute feature (diff) | |
download | firejail-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.c | 16 |
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; |