@@ -207,7 +207,7 @@ static int set_session_lock_key(RedisSock *redis_sock, char *cmd, int cmd_len
207207static int lock_acquire (RedisSock * redis_sock , redis_session_lock_status * lock_status
208208 )
209209{
210- char * cmd , hostname [HOST_NAME_MAX ] = {0 }, suffix [] = "_LOCK" , pid [ 32 ] ;
210+ char * cmd , hostname [HOST_NAME_MAX ] = {0 }, suffix [] = "_LOCK" ;
211211 int cmd_len , lock_wait_time , retries , i , set_lock_key_result , expiry ;
212212
213213 /* Short circuit if we are already locked or not using session locks */
@@ -240,12 +240,8 @@ static int lock_acquire(RedisSock *redis_sock, redis_session_lock_status *lock_s
240240
241241 /* Calculate lock secret */
242242 gethostname (hostname , HOST_NAME_MAX );
243- size_t hostname_len = strlen (hostname );
244- size_t pid_len = snprintf (pid , sizeof (pid ), "|%ld" , (long )getpid ());
245243 if (lock_status -> lock_secret ) zend_string_release (lock_status -> lock_secret );
246- lock_status -> lock_secret = zend_string_alloc (hostname_len + pid_len , 0 );
247- memcpy (ZSTR_VAL (lock_status -> lock_secret ), hostname , hostname_len );
248- memcpy (ZSTR_VAL (lock_status -> lock_secret ) + hostname_len , pid , pid_len );
244+ lock_status -> lock_secret = strpprintf (0 , "%s|%ld" , hostname , (long )getpid ());
249245
250246 if (expiry > 0 ) {
251247 cmd_len = REDIS_SPPRINTF (& cmd , "SET" , "SSssd" , lock_status -> lock_key ,
0 commit comments