From aba70df48f2ca8a567d2c11d34fb768bf764c487 Mon Sep 17 00:00:00 2001 From: guoxiang1996 Date: Tue, 16 Nov 2021 14:21:23 +0800 Subject: [PATCH] insufficient size for cached client flags in call() (#9783) The client flags is a 64 bit integer, but the temporary cached value on the stack of call() is 32 bit. luckily this doesn't lead to any bugs since the only flags used against this variables are below 32 bit. --- src/server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index 57410bda5..bf586042a 100644 --- a/src/server.c +++ b/src/server.c @@ -4897,7 +4897,7 @@ void slowlogPushCurrentCommand(client *c, struct redisCommand *cmd, ustime_t dur void call(client *c, int flags) { long long dirty; monotime call_timer; - int client_old_flags = c->flags; + uint64_t client_old_flags = c->flags; struct redisCommand *real_cmd = c->cmd; static long long prev_err_count;