]> git.saurik.com Git - redis.git/commit - tests/unit/bitops.tcl
BITCOUNT: fix segmentation fault.
authorHaruto Otake <trapezoid.g@gmail.com>
Sun, 15 Jul 2012 09:38:30 +0000 (18:38 +0900)
committerantirez <antirez@gmail.com>
Wed, 5 Sep 2012 14:20:21 +0000 (16:20 +0200)
commit4c3d419013e28c417a51f650f16b96807590c1e7
treeb808759b4234e733e3876f5c4400843dcadc021b
parent0671d88cabc0fae782a5fe9af0ad388663e6e5c7
BITCOUNT: fix segmentation fault.

remove unsafe and unnecessary cast.
until now, this cast may lead segmentation fault when end > UINT_MAX

setbit foo 0 1
bitcount  0 4294967295
=> ok
bitcount  0 4294967296
=> cause segmentation fault.

Note by @antirez: the commit was modified a bit to also change the
string length type to long, since it's guaranteed to be at max 512 MB in
size, so we can work with the same type across all the code path.

A regression test was also added.
src/bitops.c
tests/unit/bitops.tcl