zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit a4e506510b202685d859e366feeeb76e09252ba0 (tree)
parent e3452ba21b978f8b675e90e3b580e325ae0e38a6
Author: Matt Stancliff <matt@genges.com>
Date:   Sun, 21 Apr 2019 11:14:18 -0400

Fix crash due to command line argument parsing

zig --help -> ok
zig --help --c-source -> ok
zig --c-source --help -> crash [fixed]

'i' was being incremented without regard for the 'argc' limit, so
we were running off the end of 'argv'.

Diffstat:
Msrc/main.cpp | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/main.cpp b/src/main.cpp @@ -755,7 +755,11 @@ int main(int argc, char **argv) { if (argv[i][0] == '-') { c_file->args.append(argv[i]); i += 1; - continue; + if (i < argc) { + continue; + } + + break; } else { c_file->source_path = argv[i]; c_source_files.append(c_file);