aboutsummaryrefslogtreecommitdiffstats
path: root/src/fnetfilter
diff options
context:
space:
mode:
authorLibravatar startx2017 <vradu.startx@yandex.com>2018-08-14 08:35:01 -0400
committerLibravatar startx2017 <vradu.startx@yandex.com>2018-08-14 08:35:01 -0400
commit23a962a1af3894b6834ad08c12b3c3fd99775247 (patch)
treef086ad1afa06d0b054aec684917086b60d1a78ed /src/fnetfilter
parentmerge 0.9.56-rc1 (diff)
downloadfirejail-23a962a1af3894b6834ad08c12b3c3fd99775247.tar.gz
firejail-23a962a1af3894b6834ad08c12b3c3fd99775247.tar.zst
firejail-23a962a1af3894b6834ad08c12b3c3fd99775247.zip
0.9.56-rc1 merges
Diffstat (limited to 'src/fnetfilter')
-rw-r--r--src/fnetfilter/main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/fnetfilter/main.c b/src/fnetfilter/main.c
index ba58ba3c9..34ebf5926 100644
--- a/src/fnetfilter/main.c
+++ b/src/fnetfilter/main.c
@@ -79,13 +79,17 @@ static void process_template(char *src, const char *dest) {
79 *arg_start = '\0'; 79 *arg_start = '\0';
80 arg_start++; 80 arg_start++;
81 if (*arg_start == '\0') { 81 if (*arg_start == '\0') {
82 fprintf(stderr, "Error fnetfilter: you need to provide at least on argument\n"); 82 fprintf(stderr, "Error fnetfilter: you need to provide at least one argument\n");
83 exit(1); 83 exit(1);
84 } 84 }
85 85
86 // extract the arguments from command line 86 // extract the arguments from command line
87 char *token = strtok(arg_start, ","); 87 char *token = strtok(arg_start, ",");
88 while (token) { 88 while (token) {
89 if (argcnt == MAXARGS) {
90 fprintf(stderr, "Error fnetfilter: only up to %u arguments are supported\n", (unsigned) MAXARGS);
91 exit(1);
92 }
89 // look for abnormal things 93 // look for abnormal things
90 int len = strlen(token); 94 int len = strlen(token);
91 if (strcspn(token, "\\&!?\"'<>%^(){};,*[]") != (size_t)len) { 95 if (strcspn(token, "\\&!?\"'<>%^(){};,*[]") != (size_t)len) {
@@ -125,7 +129,7 @@ for (i = 0; i < argcnt; i++)
125 else { 129 else {
126 // parsing 130 // parsing
127 int index = 0; 131 int index = 0;
128 int rv = sscanf(ptr, "$ARG%u", &index) ; 132 int rv = sscanf(ptr, "$ARG%d", &index) ;
129 if (rv != 1) { 133 if (rv != 1) {
130 fprintf(stderr, "Error fnetfilter: invalid template argument on line %d\n", line); 134 fprintf(stderr, "Error fnetfilter: invalid template argument on line %d\n", line);
131 exit(1); 135 exit(1);