diff options
author | wenduo <hrxwwd@163.com> | 2016-05-30 16:21:08 +0800 |
---|---|---|
committer | wenduo <hrxwwd@163.com> | 2016-05-30 16:21:08 +0800 |
commit | 41dacdbcbefb7e90e78caf695db808833d652c8a (patch) | |
tree | 761ea4f1566bfbc37908dc89718fda82fcec26d5 | |
parent | 8c4f4d12d856e57534277c1737d7cb07890bbe63 (diff) | |
download | redis-41dacdbcbefb7e90e78caf695db808833d652c8a.tar.gz |
bitcount bug:return non-zero value when start > end (both negative)
-rw-r--r-- | src/bitops.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bitops.c b/src/bitops.c index a7fad899f..f3a7747b4 100644 --- a/src/bitops.c +++ b/src/bitops.c @@ -768,6 +768,10 @@ void bitcountCommand(client *c) { /* Convert negative indexes */ if (start < 0) start = strlen+start; if (end < 0) end = strlen+end; + if ((start < 0) && (end < 0) && (start > end)) { + addReply(c,shared.czero); + return; + } if (start < 0) start = 0; if (end < 0) end = 0; if (end >= strlen) end = strlen-1; |