diff --git a/src/debug.c b/src/debug.c index e9863e2f..198334b9 100644 --- a/src/debug.c +++ b/src/debug.c @@ -370,7 +370,13 @@ void debugCommand(redisClient *c) { if (!cmd) { addReplyError(c,"Invalid command specified"); return; + } else if ((cmd->arity > 0 && cmd->arity != c->argc-2) || + ((c->argc-2) < -cmd->arity)) + { + addReplyError(c,"Invalid number of arguments specified for command"); + return; } + keys = getKeysFromCommand(cmd,c->argv+2,c->argc-2,&numkeys); addReplyMultiBulkLen(c,numkeys); for (j = 0; j < numkeys; j++) addReplyBulk(c,c->argv[keys[j]+2]);