=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ftp/fetch.c,v retrieving revision 1.141 retrieving revision 1.142 diff -c -r1.141 -r1.142 *** src/usr.bin/ftp/fetch.c 2015/09/10 10:35:58 1.141 --- src/usr.bin/ftp/fetch.c 2015/09/10 13:43:35 1.142 *************** *** 1,4 **** ! /* $OpenBSD: fetch.c,v 1.141 2015/09/10 10:35:58 beck Exp $ */ /* $NetBSD: fetch.c,v 1.14 1997/08/18 10:20:20 lukem Exp $ */ /*- --- 1,4 ---- ! /* $OpenBSD: fetch.c,v 1.142 2015/09/10 13:43:35 jsing Exp $ */ /* $NetBSD: fetch.c,v 1.14 1997/08/18 10:20:20 lukem Exp $ */ /*- *************** *** 1459,1475 **** size_t ftp_read(FILE *fp, struct tls *tls, char *buf, size_t len) { ! size_t ret; if (fp != NULL) ret = fread(buf, sizeof(char), len, fp); #ifndef SMALL ! else if (tls!= NULL) { ! if ((ret = tls_read(tls, buf, len)) != 0) ! ret = 0; } #endif /* !SMALL */ - else - ret = 0; return (ret); } --- 1459,1475 ---- size_t ftp_read(FILE *fp, struct tls *tls, char *buf, size_t len) { ! ssize_t tls_ret; ! size_t ret = 0; ! if (fp != NULL) ret = fread(buf, sizeof(char), len, fp); #ifndef SMALL ! else if (tls != NULL) { ! if ((tls_ret = tls_read(tls, buf, len)) >= 0) ! ret = (size_t)tls_ret; } #endif /* !SMALL */ return (ret); } *************** *** 1547,1553 **** ret = tls_read(tls, &c, 1); if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) goto again; ! if (ret != 0) errx(1, "SSL read error: %s", tls_error(tls)); buf[i] = c; --- 1547,1553 ---- ret = tls_read(tls, &c, 1); if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) goto again; ! if (ret < 0) errx(1, "SSL read error: %s", tls_error(tls)); buf[i] = c;