diff options
Diffstat (limited to 'src/t_zset.c')
-rw-r--r-- | src/t_zset.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/t_zset.c b/src/t_zset.c index dc97c7075..3cd2d2438 100644 --- a/src/t_zset.c +++ b/src/t_zset.c @@ -4293,8 +4293,13 @@ void zrandmemberCommand(client *c) { if (c->argc > 4 || (c->argc == 4 && strcasecmp(c->argv[3]->ptr,"withscores"))) { addReplyErrorObject(c,shared.syntaxerr); return; - } else if (c->argc == 4) + } else if (c->argc == 4) { withscores = 1; + if (l < LONG_MIN/2 || l > LONG_MAX/2) { + addReplyError(c,"value is out of range"); + return; + } + } zrandmemberWithCountCommand(c, l, withscores); return; } |