From: Mark Horton Date: Sat, 8 Nov 1980 04:06:25 +0000 (-0800) Subject: fixed bug that core dumped when bad arguments were given X-Git-Tag: BSD-4^3~43 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/8d8b30ec7d94cf88162773caab08d086bcbf7a60?hp=97afa63758fbdf6dbe4edcffe13ebb7ee20bccf3 fixed bug that core dumped when bad arguments were given SCCS-vsn: usr.bin/wc/wc.c 4.2 --- diff --git a/usr/src/usr.bin/wc/wc.c b/usr/src/usr.bin/wc/wc.c index 30d6b8190a..b947edbfd0 100644 --- a/usr/src/usr.bin/wc/wc.c +++ b/usr/src/usr.bin/wc/wc.c @@ -1,4 +1,4 @@ -static char *sccsid = "@(#)wc.c 4.1 (Berkeley) %G%"; +static char *sccsid = "@(#)wc.c 4.2 (Berkeley) %G%"; /* wc line and word count */ #include @@ -25,7 +25,11 @@ char **argv; wd = argv[1]+1; break; case 's': + if (argc == 2) + goto usage; lpp = atoi(argv[1]+2); + if (lpp <= 0) + goto usage; break; case 'v': verbose++; @@ -35,12 +39,20 @@ char **argv; uucp++; break; case 'b': + if (argc == 2) + goto usage; baud = atoi(argv[1]+2); if (baud == 110) cps = 10; else cps = baud / 10; + if (cps <= 0) + goto usage; break; + default: + usage: + fprintf(stderr, "Usage: wc [-lwcpt] [-v] [-u] [-s pagesize] [-b baudrate]\n"); + exit(1); } argc--; argv++;