@@ -3179,8 +3179,7 @@ sdlPtr get_sdl(zval *this_ptr, char *uri, zend_long cache_wsdl)
31793179 unsigned char digest [16 ];
31803180 size_t len = strlen (SOAP_GLOBAL (cache_dir ));
31813181 time_t cached ;
3182- char * user = php_get_current_user ();
3183- size_t user_len = user ? strlen (user ) + 1 : 0 ;
3182+ zend_string * user = php_get_current_user ();
31843183
31853184 /* System architecture identification (see bug #70951) */
31863185 static const char ids [] = {SIZEOF_ZEND_LONG , SOAP_BIG_ENDIAN };
@@ -3191,13 +3190,13 @@ sdlPtr get_sdl(zval *this_ptr, char *uri, zend_long cache_wsdl)
31913190 PHP_MD5Update (& md5_context , ids , sizeof (ids ));
31923191 PHP_MD5Final (digest , & md5_context );
31933192 make_digest (md5str , digest );
3194- key = emalloc (len + sizeof ("/wsdl-" )- 1 + user_len + 2 + sizeof (md5str ));
3193+ key = emalloc (len + sizeof ("/wsdl-" )- 1 + ZSTR_LEN ( user ) + 2 + sizeof (md5str ));
31953194 memcpy (key ,SOAP_GLOBAL (cache_dir ),len );
31963195 memcpy (key + len ,"/wsdl-" ,sizeof ("/wsdl-" )- 1 );
31973196 len += sizeof ("/wsdl-" )- 1 ;
3198- if (user_len ) {
3199- memcpy (key + len , user , user_len - 1 );
3200- len += user_len - 1 ;
3197+ if (ZSTR_LEN ( user ) ) {
3198+ memcpy (key + len , ZSTR_VAL ( user ), ZSTR_LEN ( user ) - 1 );
3199+ len += ZSTR_LEN ( user ) - 1 ;
32013200 key [len ++ ] = '-' ;
32023201 }
32033202 if (WSDL_CACHE_VERSION <= 0x9f ) {
0 commit comments