summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwenduo <hrxwwd@163.com>2016-05-30 16:21:08 +0800
committerwenduo <hrxwwd@163.com>2016-05-30 16:21:08 +0800
commit41dacdbcbefb7e90e78caf695db808833d652c8a (patch)
tree761ea4f1566bfbc37908dc89718fda82fcec26d5
parent8c4f4d12d856e57534277c1737d7cb07890bbe63 (diff)
downloadredis-41dacdbcbefb7e90e78caf695db808833d652c8a.tar.gz
bitcount bug:return non-zero value when start > end (both negative)
-rw-r--r--src/bitops.c4
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;