diff --git a/src/config.c b/src/config.c index 033b7295..627f5706 100644 --- a/src/config.c +++ b/src/config.c @@ -1855,6 +1855,12 @@ int rewriteConfig(char *path) { *----------------------------------------------------------------------------*/ void configCommand(client *c) { + /* Only allow CONFIG GET while loading. */ + if (server.loading && strcasecmp(c->argv[1]->ptr,"get")) { + addReplyError(c,"Only CONFIG GET is allowed during loading"); + return; + } + if (!strcasecmp(c->argv[1]->ptr,"set")) { if (c->argc != 4) goto badarity; configSetCommand(c); diff --git a/src/server.c b/src/server.c index 9bb74595..532519bb 100644 --- a/src/server.c +++ b/src/server.c @@ -253,7 +253,7 @@ struct redisCommand redisCommandTable[] = { {"slaveof",slaveofCommand,3,"ast",0,NULL,0,0,0,0,0}, {"role",roleCommand,1,"lst",0,NULL,0,0,0,0,0}, {"debug",debugCommand,-1,"as",0,NULL,0,0,0,0,0}, - {"config",configCommand,-2,"at",0,NULL,0,0,0,0,0}, + {"config",configCommand,-2,"lat",0,NULL,0,0,0,0,0}, {"subscribe",subscribeCommand,-2,"pslt",0,NULL,0,0,0,0,0}, {"unsubscribe",unsubscribeCommand,-1,"pslt",0,NULL,0,0,0,0,0}, {"psubscribe",psubscribeCommand,-2,"pslt",0,NULL,0,0,0,0,0},