diff --git a/src/db.c b/src/db.c index e65106a5..e78b0d53 100644 --- a/src/db.c +++ b/src/db.c @@ -226,7 +226,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 (selectDb(c,id) == REDIS_ERR) { addReplyError(c,"invalid DB index");