Unverified Commit 6aa2285e authored by guybe7's avatar guybe7 Committed by GitHub
Browse files

Fix two minor bugs (MIGRATE key args and getKeysUsingCommandTable) (#9455)

1. MIGRATE has a potnetial key arg in argv[3]. It should be reflected in the command table.
2. getKeysUsingCommandTable should never free getKeysResult, it is always freed by the caller)
   The reason we never encountered this double-free bug is that almost always getKeysResult
   uses the statis buffer and doesn't allocate a new one.
parent 306a5ccd
......@@ -1614,7 +1614,6 @@ int getKeysUsingCommandTable(struct redisCommand *cmd,robj **argv, int argc, get
* return no keys and expect the command implementation to report
* an arity or syntax error. */
if (cmd->flags & CMD_MODULE || cmd->arity < 0) {
getKeysFreeResult(result);
result->numkeys = 0;
return 0;
} else {
......
......@@ -891,7 +891,7 @@ struct redisCommand redisCommandTable[] = {
{"migrate",migrateCommand,-6,
"write random @keyspace @dangerous",
0,migrateGetKeys,0,0,0,0,0,0},
0,migrateGetKeys,3,3,1,0,0,0},
{"asking",askingCommand,1,
"fast @connection",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment