mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
Fix leak caused by fix to bug #65667
ftp->stream is now closed in the ftp resource dtor.
This commit is contained in:
parent
8e5048f9fb
commit
3b6afb1bd6
@ -178,6 +178,10 @@ ftp_close(ftpbuf_t *ftp)
|
||||
if (ftp->data) {
|
||||
data_close(ftp, ftp->data);
|
||||
}
|
||||
if (ftp->stream && ftp->closestream) {
|
||||
TSRMLS_FETCH();
|
||||
php_stream_close(ftp->stream);
|
||||
}
|
||||
if (ftp->fd != -1) {
|
||||
#if HAVE_OPENSSL_EXT
|
||||
if (ftp->ssl_active) {
|
||||
|
@ -963,6 +963,7 @@ PHP_FUNCTION(ftp_nb_get)
|
||||
|
||||
if ((ret = ftp_nb_get(ftp, outstream, remote, xtype, resumepos TSRMLS_CC)) == PHP_FTP_FAILED) {
|
||||
php_stream_close(outstream);
|
||||
ftp->stream = NULL;
|
||||
VCWD_UNLINK(local);
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf);
|
||||
RETURN_LONG(PHP_FTP_FAILED);
|
||||
@ -970,6 +971,7 @@ PHP_FUNCTION(ftp_nb_get)
|
||||
|
||||
if (ret == PHP_FTP_FINISHED){
|
||||
php_stream_close(outstream);
|
||||
ftp->stream = NULL;
|
||||
}
|
||||
|
||||
RETURN_LONG(ret);
|
||||
@ -1003,6 +1005,7 @@ PHP_FUNCTION(ftp_nb_continue)
|
||||
|
||||
if (ret != PHP_FTP_MOREDATA && ftp->closestream) {
|
||||
php_stream_close(ftp->stream);
|
||||
ftp->stream = NULL;
|
||||
}
|
||||
|
||||
if (ret == PHP_FTP_FAILED) {
|
||||
@ -1214,6 +1217,7 @@ PHP_FUNCTION(ftp_nb_put)
|
||||
|
||||
if (ret != PHP_FTP_MOREDATA) {
|
||||
php_stream_close(instream);
|
||||
ftp->stream = NULL;
|
||||
}
|
||||
|
||||
if (ret == PHP_FTP_FAILED) {
|
||||
|
Loading…
Reference in New Issue
Block a user