Hi tech,
there are some "never read" variables in ftp.c.
The local variable "error" is set but there is either a
goto bad;
........
bad:
(void)close(data), data = -1;
if (tmpno)
sendport = 1;
return (1);
and the variable is not going to read here.
or the variable is just set but never read - without a goto statement.
Am I right, or are there other reasons why the error variable is set but not
used?
Fritjof
Index: ftp.c
===================================================================
RCS file: /cvs/src/usr.bin/ftp/ftp.c,v
retrieving revision 1.84
diff -u -p -r1.84 ftp.c
--- ftp.c 20 Dec 2013 13:44:51 -0000 1.84
+++ ftp.c 22 Apr 2014 19:40:33 -0000
@@ -1408,13 +1408,11 @@ reinit:
if (data_addr.su_family != AF_INET) {
fputs(
"Passive mode AF mismatch. Shouldn't happen!\n", ttyout);
- error = 1;
goto bad;
}
if (code / 10 == 22 && code != 227) {
fputs("wrong server: return code must be 227\n",
ttyout);
- error = 1;
goto bad;
}
error = sscanf(pasv, "%u,%u,%u,%u,%u,%u",
@@ -1423,10 +1421,8 @@ reinit:
if (error != 6) {
fputs(
"Passive mode address scan failure. Shouldn't happen!\n", ttyout);
- error = 1;
goto bad;
}
- error = 0;
memset(&data_addr, 0, sizeof(data_addr));
data_addr.su_family = AF_INET;
data_addr.su_len = sizeof(struct sockaddr_in);
@@ -1437,7 +1433,6 @@ reinit:
if (code / 10 == 22 && code != 228) {
fputs("wrong server: return code must be 228\n",
ttyout);
- error = 1;
goto bad;
}
switch (data_addr.su_family) {
@@ -1450,17 +1445,14 @@ reinit:
if (error != 9) {
fputs(
"Passive mode address scan failure. Shouldn't happen!\n", ttyout);
- error = 1;
goto bad;
}
if (af != 4 || hal != 4 || pal != 2) {
fputs(
"Passive mode AF mismatch. Shouldn't happen!\n", ttyout);
- error = 1;
goto bad;
}
- error = 0;
memset(&data_addr, 0, sizeof(data_addr));
data_addr.su_family = AF_INET;
data_addr.su_len = sizeof(struct sockaddr_in);
@@ -1481,17 +1473,14 @@ reinit:
if (error != 21) {
fputs(
"Passive mode address scan failure. Shouldn't happen!\n", ttyout);
- error = 1;
goto bad;
}
if (af != 6 || hal != 16 || pal != 2) {
fputs(
"Passive mode AF mismatch. Shouldn't happen!\n", ttyout);
- error = 1;
goto bad;
}
- error = 0;
memset(&data_addr, 0, sizeof(data_addr));
data_addr.su_family = AF_INET6;
data_addr.su_len = sizeof(struct sockaddr_in6);
@@ -1515,20 +1504,17 @@ reinit:
if (code / 10 == 22 && code != 229) {
fputs("wrong server: return code must be 229\n",
ttyout);
- error = 1;
goto bad;
}
if (sscanf(pasv, "%c%c%c%d%c", &delim[0],
&delim[1], &delim[2], &port[1],
&delim[3]) != 5) {
fputs("parse error!\n", ttyout);
- error = 1;
goto bad;
}
if (delim[0] != delim[1] || delim[0] != delim[2]
|| delim[0] != delim[3]) {
fputs("parse error!\n", ttyout);
- error = 1;
goto bad;
}
data_addr = hisctladdr;