summaryrefslogtreecommitdiff
path: root/main/streams/transports.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams/transports.c')
-rw-r--r--main/streams/transports.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/streams/transports.c b/main/streams/transports.c
index 9bd78426f9..2bf4230870 100644
--- a/main/streams/transports.c
+++ b/main/streams/transports.c
@@ -31,7 +31,12 @@ PHPAPI HashTable *php_stream_xport_get_hash(void)
PHPAPI int php_stream_xport_register(const char *protocol, php_stream_transport_factory factory)
{
- return zend_hash_update_ptr(&xport_hash, zend_string_init_interned(protocol, strlen(protocol), 1), factory) ? SUCCESS : FAILURE;
+ int ret;
+ zend_string *str = zend_string_init_interned(protocol, strlen(protocol), 1);
+
+ ret = zend_hash_update_ptr(&xport_hash, str, factory) ? SUCCESS : FAILURE;
+ zend_string_release(str);
+ return ret;
}
PHPAPI int php_stream_xport_unregister(const char *protocol)