diff options
author | aoand <aoand@ThinkPad-x260> | 2019-08-26 20:33:36 +0300 |
---|---|---|
committer | aoand <aoand@ThinkPad-x260> | 2019-08-26 20:48:32 +0300 |
commit | 7feb54dd0d600c625bb561b70b10a223bfd8280a (patch) | |
tree | fd77c7a916c8bd9b6202323b0f68cd32c6db9b6b /src | |
parent | Fix private-bin order in ghostwriter.profile (diff) | |
download | firejail-7feb54dd0d600c625bb561b70b10a223bfd8280a.tar.gz firejail-7feb54dd0d600c625bb561b70b10a223bfd8280a.tar.zst firejail-7feb54dd0d600c625bb561b70b10a223bfd8280a.zip |
seccomp fix: allow numeric syscalls
as per man page, numeric syscall is indicated by the dollar sign '$'
Diffstat (limited to 'src')
-rw-r--r-- | src/firejail/seccomp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/firejail/seccomp.c b/src/firejail/seccomp.c index 81ab18aa1..310ccf83f 100644 --- a/src/firejail/seccomp.c +++ b/src/firejail/seccomp.c | |||
@@ -48,7 +48,8 @@ char *seccomp_check_list(const char *str) { | |||
48 | const char *ptr1 = str; | 48 | const char *ptr1 = str; |
49 | char *ptr2 = rv; | 49 | char *ptr2 = rv; |
50 | while (*ptr1 != '\0') { | 50 | while (*ptr1 != '\0') { |
51 | if (isalnum(*ptr1) || *ptr1 == '_' || *ptr1 == ',' || *ptr1 == ':' || *ptr1 == '@' || *ptr1 == '-') | 51 | if (isalnum(*ptr1) || *ptr1 == '_' || *ptr1 == ',' || *ptr1 == ':' |
52 | || *ptr1 == '@' || *ptr1 == '-' || *ptr1 == '$') | ||
52 | *ptr2++ = *ptr1++; | 53 | *ptr2++ = *ptr1++; |
53 | else { | 54 | else { |
54 | fprintf(stderr, "Error: invalid syscall list\n"); | 55 | fprintf(stderr, "Error: invalid syscall list\n"); |