diff options
Diffstat (limited to 'main/streams/transports.c')
-rw-r--r-- | main/streams/transports.c | 7 |
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) |