[CFR] 4.x-STABLE ftp client signedness patch
Peter Pentchev <[email protected]> Thu, 17 Oct 2002 21:12:25 +0300
| Newsgroups | gmane.os.freebsd.devel.audit |
|---|---|
| Message-ID | <[email protected]> |
Hi, The "old" FTP client in -STABLE has a little problem when retrieving files via HTTP: a variable that holds the read() return value is unsigned, which leads to misinterpreted failures when the connection is closed by the remote side and read() returns -1. Yes, I know it has never really been ftp(1)'s job to fetch via HTTP; still, this is what a friend of mine has been using until today, when he reported the failure and I tracked down the bug. I taught him about fetch(1), but there is no reason for the bug to stay unfixed :) The trivial patch is attached; it only applies to -STABLE, because -CURRENT uses lukemftp now. I took a look through the lukemftp source with a quick grep for 'size_t' and 'unsigned', and there do not seem to be any similar problems there. G'luck, Peter -- Peter Pentchev [email protected] [email protected] PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 This sentence contains exactly threee erors. Index: src/usr.bin/ftp/fetch.c =================================================================== RCS file: /home/ncvs/src/usr.bin/ftp/Attic/fetch.c,v retrieving revision 1.12.2.5 diff -u -r1.12.2.5 fetch.c --- src/usr.bin/ftp/fetch.c 25 Jul 2002 15:29:18 -0000 1.12.2.5 +++ src/usr.bin/ftp/fetch.c 17 Oct 2002 07:31:36 -0000 @@ -98,7 +98,7 @@ int i, out, isftpurl; char *port; volatile int s; - size_t len; + ssize_t len; char c, *cp, *ep, *http_buffer, *portnum, *path, buf[4096]; const char *savefile; char *line, *proxy, *host;
signature.asc
(application/pgp-signature, 187 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQE9rv2J7Ri2jRYZRVMRAk1oAKDGtcCXFBEl2drpB3mHzTIfsTC0IQCfeuua yVg3J229Ha009rqc6027aZ8= =yirz -----END PGP SIGNATURE-----