diff --git a/src/config.c b/src/config.c index 22dce098f..ba835455c 100644 --- a/src/config.c +++ b/src/config.c @@ -1923,6 +1923,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 64f174c03..779c18ba5 100644 --- a/src/server.c +++ b/src/server.c @@ -254,7 +254,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},