diff --git a/src/config.c b/src/config.c index 1d81180b..8f3b81a1 100644 --- a/src/config.c +++ b/src/config.c @@ -616,8 +616,9 @@ void loadServerConfigFromString(char *config) { unsigned long long hard, soft; int soft_seconds; - if (class == -1) { - err = "Unrecognized client limit class"; + if (class == -1 || class == CLIENT_TYPE_MASTER) { + err = "Unrecognized client limit class: the user specified " + "an invalid one, or 'master' which has no buffer limits."; goto loaderr; } hard = memtoll(argv[2],NULL); @@ -906,7 +907,8 @@ void configSetCommand(client *c) { long val; if ((j % 4) == 0) { - if (getClientTypeByName(v[j]) == -1) { + int class = getClientTypeByName(v[j]); + if (class == -1 || class == CLIENT_TYPE_MASTER) { sdsfreesplitres(v,vlen); goto badfmt; }