[PECL-CVS] [pecl-networking-ssh2] master: Fixes #81 (#94)
[email protected] (Rasmus Lerdorf via GitHub) Sat, 4 Apr 2026 10:50:13 +0000
| Newsgroups | php.pecl.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Rasmus Lerdorf (rlerdorf)
Committer: GitHub (web-flow)
Pusher: rlerdorf
Date: 2026-04-04T06:50:10-04:00
Commit: https://github.com/php/pecl-networking-ssh2/commit/9d78647bcab34c888037fd0534b6459ce1cb92e7
Raw diff: https://github.com/php/pecl-networking-ssh2/commit/9d78647bcab34c888037fd0534b6459ce1cb92e7.diff
Fixes #81 (#94)
Changed paths:
M ssh2_sftp.c
Diff:
diff --git a/ssh2_sftp.c b/ssh2_sftp.c
index 80353b4..f6caa48 100644
--- a/ssh2_sftp.c
+++ b/ssh2_sftp.c
@@ -152,8 +152,11 @@ static ssize_t php_ssh2_sftp_stream_read(php_stream *stream, char *buf, size_t c
static int php_ssh2_sftp_stream_close(php_stream *stream, int close_handle)
{
php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract;
+ php_ssh2_sftp_data *sftp_data = (php_ssh2_sftp_data*)data->sftp_rsrc->ptr;
- libssh2_sftp_close(data->handle);
+ if (sftp_data && sftp_data->session_rsrc->ptr != NULL) {
+ libssh2_sftp_close(data->handle);
+ }
zend_list_delete(data->sftp_rsrc);
efree(data);
@@ -319,8 +322,11 @@ static ssize_t php_ssh2_sftp_dirstream_read(php_stream *stream, char *buf, size_
static int php_ssh2_sftp_dirstream_close(php_stream *stream, int close_handle)
{
php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract;
+ php_ssh2_sftp_data *sftp_data = (php_ssh2_sftp_data*)data->sftp_rsrc->ptr;
- libssh2_sftp_close(data->handle);
+ if (sftp_data && sftp_data->session_rsrc->ptr != NULL) {
+ libssh2_sftp_close(data->handle);
+ }
zend_list_delete(data->sftp_rsrc);
efree(data);