diff --git a/src/db.c b/src/db.c index 6447838c..5f07e2b6 100644 --- a/src/db.c +++ b/src/db.c @@ -228,7 +228,11 @@ void existsCommand(redisClient *c) { } void selectCommand(redisClient *c) { - int id = atoi(c->argv[1]->ptr); + long id; + + if (getLongFromObjectOrReply(c, c->argv[1], &id, + "invalid DB index") != REDIS_OK) + return; if (server.cluster_enabled && id != 0) { addReplyError(c,"SELECT is not allowed in cluster mode");