summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Aleksey Manevich <manevich.aleksey@gmail.com>2016-07-30 15:30:47 +0300
committerLibravatar Aleksey Manevich <manevich.aleksey@gmail.com>2016-07-30 15:30:47 +0300
commit0545762da33ad670681f7c2570eadcd831d14278 (patch)
tree75b189c55a0e043d5e90c853839e1b7bfea4952a /src
parentfix cmdline quoting on --join + move cmdline quoting code to functions (diff)
downloadfirejail-0545762da33ad670681f7c2570eadcd831d14278.tar.gz
firejail-0545762da33ad670681f7c2570eadcd831d14278.tar.zst
firejail-0545762da33ad670681f7c2570eadcd831d14278.zip
exit with error if length of quoted command line is longer than ARG_MAX
Diffstat (limited to 'src')
-rw-r--r--src/firejail/cmdline.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/firejail/cmdline.c b/src/firejail/cmdline.c
index 9818f8ffa..517124d9e 100644
--- a/src/firejail/cmdline.c
+++ b/src/firejail/cmdline.c
@@ -132,6 +132,10 @@ void quote_cmdline(char *command_line, char *window_title, int len, int argc, ch
132 132
133void build_cmdline(char **command_line, char **window_title, int argc, char **argv, int index) { 133void build_cmdline(char **command_line, char **window_title, int argc, char **argv, int index) {
134 int len = cmdline_length(argc, argv, index); 134 int len = cmdline_length(argc, argv, index);
135 if (len > ARG_MAX) {
136 errno = E2BIG;
137 errExit("cmdline_length");
138 }
135 139
136 *command_line = malloc(len + 1); 140 *command_line = malloc(len + 1);
137 if (!*command_line) 141 if (!*command_line)