Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--php_redis.h2
-rw-r--r--redis.c3
-rw-r--r--redis_session.c6
3 files changed, 5 insertions, 6 deletions
diff --git a/php_redis.h b/php_redis.h
index 930346ad..9d47e058 100644
--- a/php_redis.h
+++ b/php_redis.h
@@ -262,7 +262,7 @@ PHP_REDIS_API int redis_sock_read_multibulk_multi_reply_loop(
ZEND_BEGIN_MODULE_GLOBALS(redis)
int lock_release_lua_script_uploaded;
- char lock_release_lua_script_hash[41];
+ char *lock_release_lua_script_hash;
ZEND_END_MODULE_GLOBALS(redis)
ZEND_EXTERN_MODULE_GLOBALS(redis);
diff --git a/redis.c b/redis.c
index 88c49c08..6a49c154 100644
--- a/redis.c
+++ b/redis.c
@@ -462,7 +462,7 @@ static
PHP_GINIT_FUNCTION(redis)
{
redis_globals->lock_release_lua_script_uploaded = 0;
- memset(redis_globals->lock_release_lua_script_hash, 0, 41);
+ redis_globals->lock_release_lua_script_hash = NULL;
}
zend_module_entry redis_module_entry = {
@@ -816,6 +816,7 @@ PHP_MINIT_FUNCTION(redis)
*/
PHP_MSHUTDOWN_FUNCTION(redis)
{
+ efree(REDIS_G(lock_release_lua_script_hash));
return SUCCESS;
}
diff --git a/redis_session.c b/redis_session.c
index db584d25..7d9e566f 100644
--- a/redis_session.c
+++ b/redis_session.c
@@ -317,7 +317,7 @@ void lock_release(RedisSock *redis_sock, redis_session_lock_status *lock_status
int upload_lock_release_script(RedisSock *redis_sock TSRMLS_DC)
{
- if (REDIS_G(lock_release_lua_script_uploaded)) return;
+ if (REDIS_G(lock_release_lua_script_uploaded)) return 1;
char *cmd, *response, *release_script;
int response_len, cmd_len;
@@ -337,9 +337,7 @@ int upload_lock_release_script(RedisSock *redis_sock TSRMLS_DC)
}
if (response != NULL) {
- memset(REDIS_G(lock_release_lua_script_hash), 0, 41);
- strncpy(REDIS_G(lock_release_lua_script_hash), response, strlen(response));
-
+ REDIS_G(lock_release_lua_script_hash) = estrdup(response);
REDIS_G(lock_release_lua_script_uploaded) = 1;
upload_result = 1;
efree(response);