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