diff options
author | des <des@FreeBSD.org> | 2001-05-26 17:23:38 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2001-05-26 17:23:38 +0000 |
commit | 71613237c64c83918d7ae1378b032961eb73a15b (patch) | |
tree | a593b30cf26d2edf53c6d5c9e2c270568da37277 /lib | |
parent | b11f17e1c18d731fb9d2044ad3a33ba262f13d78 (diff) | |
download | FreeBSD-src-71613237c64c83918d7ae1378b032961eb73a15b.zip FreeBSD-src-71613237c64c83918d7ae1378b032961eb73a15b.tar.gz |
Plug memory leak.
PR: 27506
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libfetch/ftp.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c index 09b72ca..0cc9910 100644 --- a/lib/libfetch/ftp.c +++ b/lib/libfetch/ftp.c @@ -418,13 +418,10 @@ _ftp_closefn(void *v) io->dir = -1; io->dsd = -1; DEBUG(fprintf(stderr, "Waiting for final status\n")); - if ((r = _ftp_chkerr(io->csd)) != FTP_TRANSFER_COMPLETE) - io->err = r; - else - io->err = 0; + r = _ftp_chkerr(io->csd); close(io->csd); - io->csd = -1; - return io->err ? -1 : 0; + free(io); + return (r == FTP_TRANSFER_COMPLETE) ? 0 : -1; } static FILE * |