X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/c9d0c3623a7714bd41a35237f4ba927206a7adb6..09e2d9eeba3ff65fd60f905a5bcb0f684f7a883e:/src/networking.c diff --git a/src/networking.c b/src/networking.c index dbd83505..7319bd90 100644 --- a/src/networking.c +++ b/src/networking.c @@ -30,6 +30,7 @@ redisClient *createClient(int fd) { c->reqtype = 0; c->argc = 0; c->argv = NULL; + c->cmd = NULL; c->multibulklen = 0; c->bulklen = -1; c->sentlen = 0; @@ -447,6 +448,7 @@ static void freeClientArgv(redisClient *c) { for (j = 0; j < c->argc; j++) decrRefCount(c->argv[j]); c->argc = 0; + c->cmd = NULL; } void freeClient(redisClient *c) { @@ -947,5 +949,7 @@ void rewriteClientCommandVector(redisClient *c, int argc, ...) { /* Replace argv and argc with our new versions. */ c->argv = argv; c->argc = argc; + c->cmd = lookupCommand(c->argv[0]->ptr); + redisAssert(c->cmd != NULL); va_end(ap); }