[PECL-CVS] [pecl-networking-ssh2] master: Fix sftp streamwrapper not correctly handeling freestanding urls; fixes #85
[email protected] (Mai-Lapyst via Casper Langemeijer)
| Newsgroups | php.pecl.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Mai-Lapyst (Mai-Lapyst)
Committer: Casper Langemeijer (langemeijer)
Date: 2025-11-23T12:29:32+01:00
Commit: https://github.com/php/pecl-networking-ssh2/commit/118acefe3f5c8d4f720fbec2793711e5a77e5378
Raw diff: https://github.com/php/pecl-networking-ssh2/commit/118acefe3f5c8d4f720fbec2793711e5a77e5378.diff
Fix sftp streamwrapper not correctly handeling freestanding urls; fixes #85
Changed paths:
M ssh2_fopen_wrappers.c
Diff:
diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c
index 9f6c163..31c673b 100644
--- a/ssh2_fopen_wrappers.c
+++ b/ssh2_fopen_wrappers.c
@@ -501,9 +501,8 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
session_authed:
ZVAL_RES(&zsession, zend_register_resource(session, le_ssh2_session));
- if (psftp) {
+ if (psftp && psftp_rsrc) {
LIBSSH2_SFTP *sftp;
- zval zsftp;
sftp = libssh2_sftp_init(session);
if (!sftp) {
@@ -516,10 +515,8 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
sftp_data->session = session;
sftp_data->sftp = sftp;
sftp_data->session_rsrc = Z_RES(zsession);
-
- //TODO Sean-Der
- //ZEND_REGISTER_RESOURCE(sftp_data, le_ssh2_sftp);
- *psftp_rsrc = Z_RES(zsftp);
+ Z_ADDREF(zsession);
+ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp);
*psftp = sftp;
}