diff options
| author | Nikita Popov <nikic@php.net> | 2013-12-30 13:59:55 +0100 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2013-12-30 13:59:55 +0100 |
| commit | 056f3441fd8f05def6d5b27eff8688c4c0d74d23 (patch) | |
| tree | 5a8da26e52378a16a738480aabf04d94a9cbfaba | |
| parent | a3c7971f94b029a9c6bd067bd24a57ec748a572d (diff) | |
| parent | 71a36fb6aeb7b51b2819d857162564dbbbccae59 (diff) | |
| download | php-git-056f3441fd8f05def6d5b27eff8688c4c0d74d23.tar.gz | |
Merge branch 'PHP-5.6'
| -rw-r--r-- | ext/ftp/ftp.c | 4 | ||||
| -rw-r--r-- | ext/ftp/php_ftp.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ext/ftp/ftp.c b/ext/ftp/ftp.c index 30b3ba6285..98ab0c8552 100644 --- a/ext/ftp/ftp.c +++ b/ext/ftp/ftp.c @@ -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) { diff --git a/ext/ftp/php_ftp.c b/ext/ftp/php_ftp.c index 21e13ea460..99f3808c38 100644 --- a/ext/ftp/php_ftp.c +++ b/ext/ftp/php_ftp.c @@ -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) { |
