diff --git a/usr.bin/tftp/main.c b/usr.bin/tftp/main.c index 9b7ea7155d8..a26561eaa98 100644 --- a/usr.bin/tftp/main.c +++ b/usr.bin/tftp/main.c @@ -584,8 +584,11 @@ get(int argc, char *argv[]) if (verbose) printf("getting from %s:%s to %s [%s]\n", hostname, src, cp, mode); - if (recvfile(peer, port, fd, src, mode) != 0) + if (recvfile(peer, port, fd, src, mode) != 0) { + (void) unlink(cp); txrx_error = 1; + } + close(fd); break; } cp = tail(src); /* new .. jdg */ @@ -597,8 +600,11 @@ get(int argc, char *argv[]) if (verbose) printf("getting from %s:%s to %s [%s]\n", hostname, src, cp, mode); - if (recvfile(peer, port, fd, src, mode) != 0) + if (recvfile(peer, port, fd, src, mode) != 0) { + (void) unlink(cp); txrx_error = 1; + } + close(fd); } }