commit 6970a96
chld
·
2026-04-14 01:31:38 +0000 UTC
parent a9b52f6
be safe while parsing argv
1 files changed,
+16,
-1
+16,
-1
1@@ -238,10 +238,25 @@ main(int argc, char **argv)
2 return 0;
3 } else if (strcmp(argv[i], "-C")==0) {
4 chdir(argv[i+1]);
5- ++i;
6+
7+ if(i+1 <= argc) {
8+ ++i;
9+ } else {
10+ fprintf(stderr, "specify a directory\n\n");
11+ usage(stderr, argv[0]);
12+ return 1;
13+ }
14 } else if (strcmp(argv[i], "-f")==0) {
15 path=argv[i+1];
16 ++i;
17+
18+ if(i+1 <= argc) {
19+ ++i;
20+ } else {
21+ fprintf(stderr, "specify a file\n\n");
22+ usage(stderr, argv[0]);
23+ return 1;
24+ }
25 } else if (argv[i][0] == '-') {
26 usage(stderr, argv[0]);
27 return 1;