iliaa Sun Aug 31 17:07:03 2003 EDT
Modified files:
/php-src/ext/ftp ftp.c
Log:
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.89 php-src/ext/ftp/ftp.c:1.90
--- php-src/ext/ftp/ftp.c:1.89 Mon Aug 11 20:55:58 2003
+++ php-src/ext/ftp/ftp.c Sun Aug 31 17:07:01 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ftp.c,v 1.89 2003/08/12 00:55:58 iliaa Exp $ */
+/* $Id: ftp.c,v 1.90 2003/08/31 21:07:01 iliaa Exp $ */
#include "php.h"
@@ -818,8 +818,7 @@
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;
@@ -827,8 +826,7 @@
return 1;
bail:
- data_close(ftp, data);
- ftp->data = NULL;
+ ftp->data = data_close(ftp, data);
return 0;
}
/* }}} */
@@ -903,14 +901,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;
}
/* }}} */
@@ -1627,7 +1625,7 @@
}
}
- data = data_close(ftp, data);
+ ftp->data = data = data_close(ftp, data);
if (ferror(tmpfp)) {
goto bail;
@@ -1665,7 +1663,7 @@
return ret;
bail:
if (data)
- data_close(ftp, data);
+ ftp->data = data_close(ftp, data);
fclose(tmpfp);
if (ret)
efree(ret);
@@ -1729,7 +1727,7 @@
return (ftp_nb_continue_read(ftp TSRMLS_CC));
bail:
- data_close(ftp, data);
+ ftp->data = data_close(ftp, data);
return PHP_FTP_FAILED;
}
/* }}} */
@@ -1782,7 +1780,7 @@
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;
@@ -1792,7 +1790,7 @@
return PHP_FTP_FINISHED;
bail:
ftp->nb = 0;
- data_close(ftp, data);
+ ftp->data = data_close(ftp, data);
return PHP_FTP_FAILED;
}
/* }}} */
@@ -1845,7 +1843,7 @@
return (ftp_nb_continue_write(ftp TSRMLS_CC));
bail:
- data_close(ftp, data);
+ ftp->data = data_close(ftp, data);
return PHP_FTP_FAILED;
}
/* }}} */
@@ -1897,7 +1895,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