diff options
author | Matthieu Herrb <matthieu@herrb.eu> | 2019-07-15 11:34:35 +0200 |
---|---|---|
committer | Matthieu Herrb <matthieu@herrb.eu> | 2019-07-15 11:34:35 +0200 |
commit | 77e9050b05ad1590bfe5123028e6ca219332fb84 (patch) | |
tree | 222de7eb446da5a1cf3f3427c49f56c44f3c899b /xinit.c | |
parent | 64648035285ea960e410b25cd7b7d238a567c589 (diff) | |
parent | 9a8b937bcfd84575e13039f316cbcb14c9729df4 (diff) |
Merge remote-tracking branch 'origin/master' into obsd
Diffstat (limited to 'xinit.c')
-rw-r--r-- | xinit.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -151,7 +151,6 @@ main(int argc, char *argv[]) register char **ptr; pid_t pid; int client_given = 0, server_given = 0; - int client_args_given = 0, server_args_given = 0; int start_of_client_args, start_of_server_args; struct sigaction sa, si; #ifdef __APPLE__ @@ -174,7 +173,8 @@ main(int argc, char *argv[]) } start_of_client_args = (cptr - client); while (argc && strcmp(*argv, "--")) { - client_args_given++; + if (cptr > clientargv + sizeof(clientargv) / sizeof(*clientargv) - 2) + Fatalx("too many client arguments"); *cptr++ = *argv++; argc--; } @@ -202,7 +202,8 @@ main(int argc, char *argv[]) start_of_server_args = (sptr - server); while (--argc >= 0) { - server_args_given++; + if (sptr > serverargv + sizeof(serverargv) / sizeof(*serverargv) - 2) + Fatalx("too many server arguments"); *sptr++ = *argv++; } *sptr = NULL; |