iliaa Sun Aug 31 17:09:14 2003 EDT Modified files: (Branch: PHP_4_3) /php-src/ext/ftp ftp.c Log: MFH: Make sure that ftp->data is nulled after it's freed. This may fix bug #25294 & bug #25296. Index: php-src/ext/ftp/ftp.c diff -u php-src/ext/ftp/ftp.c:1.68.2.8 php-src/ext/ftp/ftp.c:1.68.2.9 --- php-src/ext/ftp/ftp.c:1.68.2.8 Fri Jun 27 12:42:50 2003 +++ php-src/ext/ftp/ftp.c Sun Aug 31 17:09:14 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: ftp.c,v 1.68.2.8 2003/06/27 16:42:50 sniper Exp $ */ +/* $Id: ftp.c,v 1.68.2.9 2003/08/31 21:09:14 iliaa Exp $ */ #include "php.h" @@ -715,8 +715,7 @@ if (type == FTPTYPE_ASCII && lastch == '\r') php_stream_putc(outstream, '\r'); - data = data_close(ftp, data); - ftp->data = NULL; + ftp->data = data = data_close(ftp, data); if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) { goto bail; @@ -724,8 +723,7 @@ return 1; bail: - data_close(ftp, data); - ftp->data = NULL; + ftp->data = data_close(ftp, data); return 0; } /* }}} */ @@ -798,14 +796,14 @@ if (size && my_send(ftp, data->fd, data->buf, size) != size) goto bail; - data = data_close(ftp, data); + ftp->data = data = data_close(ftp, data); if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) goto bail; return 1; bail: - data_close(ftp, data); + ftp->data = data_close(ftp, data); return 0; } /* }}} */ @@ -1498,7 +1496,7 @@ } } - data = data_close(ftp, data); + ftp->data = data = data_close(ftp, data); if (ferror(tmpfp)) goto bail; @@ -1538,7 +1536,7 @@ return ret; bail: if (data) - data_close(ftp, data); + ftp->data = data_close(ftp, data); fclose(tmpfp); if (ret) efree(ret); @@ -1594,7 +1592,7 @@ return (ftp_nb_continue_read(ftp)); bail: - data_close(ftp, data); + ftp->data = data_close(ftp, data); return PHP_FTP_FAILED; } /* }}} */ @@ -1647,7 +1645,7 @@ if (type == FTPTYPE_ASCII && lastch == '\r') php_stream_putc(ftp->stream, '\r'); - data = data_close(ftp, data); + ftp->data = data = data_close(ftp, data); if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) { goto bail; @@ -1657,7 +1655,7 @@ return PHP_FTP_FINISHED; bail: ftp->nb = 0; - data_close(ftp, data); + ftp->data = data_close(ftp, data); return PHP_FTP_FAILED; } /* }}} */ @@ -1709,7 +1707,7 @@ return (ftp_nb_continue_write(ftp)); bail: - data_close(ftp, data); + ftp->data = data_close(ftp, data); return PHP_FTP_FAILED; } @@ -1764,7 +1762,7 @@ ftp->nb = 0; return PHP_FTP_FINISHED; bail: - data_close(ftp, ftp->data); + ftp->data = data_close(ftp, ftp->data); ftp->nb = 0; return PHP_FTP_FAILED; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php