X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/57eaa3e23013718a0864620f46346542035710dd..3958cd1211fd7c17c60cafce34c06e6d81f5d793:/usr.bin/tftp/main.c diff --git a/usr.bin/tftp/main.c b/usr.bin/tftp/main.c index 48ee1879fd..bd3fb6c8c5 100644 --- a/usr.bin/tftp/main.c +++ b/usr.bin/tftp/main.c @@ -60,6 +60,7 @@ static char sccsid[] = "@(#)main.c 5.10 (Berkeley) 3/1/91"; #include #define TIMEOUT 5 /* secs between rexmt's */ +#define LBUFLEN 200 /* size of input buffer */ struct sockaddr_in s_in; int f; @@ -68,7 +69,7 @@ int trace; int verbose; int connected; char mode[32]; -char line[200]; +char line[LBUFLEN]; int margc; char *margv[20]; char *prompt = "tftp"; @@ -169,12 +170,12 @@ setpeer(argc, argv) if (argc < 2) { strcpy(line, "Connect "); printf("(to) "); - gets(&line[strlen(line)]); + fgets(&line[strlen(line)], LBUFLEN-strlen(line), stdin); makeargv(); argc = margc; argv = margv; } - if (argc > 3) { + if ((argc < 2) || (argc > 3)) { printf("usage: %s host-name [port]\n", argv[0]); return; } @@ -284,7 +285,7 @@ put(argc, argv) if (argc < 2) { strcpy(line, "send "); printf("(file) "); - gets(&line[strlen(line)]); + fgets(&line[strlen(line)], LBUFLEN-strlen(line), stdin); makeargv(); argc = margc; argv = margv; @@ -375,7 +376,7 @@ get(argc, argv) if (argc < 2) { strcpy(line, "get "); printf("(files) "); - gets(&line[strlen(line)]); + fgets(&line[strlen(line)], LBUFLEN-strlen(line), stdin); makeargv(); argc = margc; argv = margv; @@ -455,7 +456,7 @@ setrexmt(argc, argv) if (argc < 2) { strcpy(line, "Rexmt-timeout "); printf("(value) "); - gets(&line[strlen(line)]); + fgets(&line[strlen(line)], LBUFLEN-strlen(line), stdin); makeargv(); argc = margc; argv = margv; @@ -481,7 +482,7 @@ settimeout(argc, argv) if (argc < 2) { strcpy(line, "Maximum-timeout "); printf("(value) "); - gets(&line[strlen(line)]); + fgets(&line[strlen(line)], LBUFLEN-strlen(line), stdin); makeargv(); argc = margc; argv = margv; @@ -547,14 +548,14 @@ command(top) putchar('\n'); for (;;) { printf("%s> ", prompt); - if (gets(line) == 0) { + if (fgets(line, LBUFLEN, stdin) == 0) { if (feof(stdin)) { quit(); } else { continue; } } - if (line[0] == 0) + if ((line[0] == 0) || (line[0] == '\n')) continue; makeargv(); c = getcmd(margv[0]);