]> git.saurik.com Git - redis.git/commit - src/bitops.c
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:19:04 +0000 (16:19 +0200)
commit749aac72ad980bf08b04655634590b80e2fd014c
tree5d69d88607e7d3b4322c10e53893a165bac5f056
parent24bc807b5c781ba0f8d0582d47bde237d6748a5d
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