aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Bruno Nova <brunomb.nova@gmail.com>2015-11-18 13:16:04 +0000
committerLibravatar Bruno Nova <brunomb.nova@gmail.com>2015-11-18 22:14:06 +0000
commitd647b36609ecd1dfa2da7130628482aae9ed0321 (patch)
tree0ad0f59f2acde667a88dbf263108c4dfbb8243b1 /src
parentblacklist multiple times fix (diff)
downloadfirejail-d647b36609ecd1dfa2da7130628482aae9ed0321.tar.gz
firejail-d647b36609ecd1dfa2da7130628482aae9ed0321.tar.zst
firejail-d647b36609ecd1dfa2da7130628482aae9ed0321.zip
Add '"' chars around every argument passed to bash
Diffstat (limited to 'src')
-rw-r--r--src/firejail/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/firejail/main.c b/src/firejail/main.c
index 3a2da0852..c55d87364 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -1188,11 +1188,12 @@ int main(int argc, char **argv) {
1188 } 1188 }
1189 else { 1189 else {
1190 // calculate the length of the command 1190 // calculate the length of the command
1191 // TODO: escape the '"' characters, and possibly others like '\' and '!' if they can cause problems
1191 int i; 1192 int i;
1192 int len = 0; 1193 int len = 0;
1193 int argcnt = argc - prog_index; 1194 int argcnt = argc - prog_index;
1194 for (i = 0; i < argcnt; i++) 1195 for (i = 0; i < argcnt; i++)
1195 len += strlen(argv[i + prog_index]) + 1; // + ' ' 1196 len += strlen(argv[i + prog_index]) + 3; // + ' ' + 2 '"'
1196 1197
1197 // build the string 1198 // build the string
1198 cfg.command_line = malloc(len + 1); // + '\0' 1199 cfg.command_line = malloc(len + 1); // + '\0'
@@ -1200,7 +1201,7 @@ int main(int argc, char **argv) {
1200 errExit("malloc"); 1201 errExit("malloc");
1201 char *ptr = cfg.command_line; 1202 char *ptr = cfg.command_line;
1202 for (i = 0; i < argcnt; i++) { 1203 for (i = 0; i < argcnt; i++) {
1203 sprintf(ptr, "%s ", argv[i + prog_index]); 1204 sprintf(ptr, "\"%s\" ", argv[i + prog_index]);
1204 ptr += strlen(ptr); 1205 ptr += strlen(ptr);
1205 } 1206 }
1206 } 1207 }