Export to GitHub

redis - issue #177

Segfault in dupClientReplyValue


Posted on Mar 9, 2010 by Grumpy Monkey

From: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570371

Redis segfaults in addReply function when I run redis-benchmark against it and connect two slaves simultaneously. The cause seems to be a typo in the dupClientReplyValue function:

--- redis-1.2.1-orig/redis.c 2010-02-18 12:40:23.000000000 +0100 +++ redis-1.2.1/redis.c 2010-02-18 12:42:03.000000000 +0100 @@ -1975,7 +1975,7 @@

static void *dupClientReplyValue(void o) { incrRefCount((robj)o); - return 0; + return o; }

It returned a NULL pointer that was used afterwards as a list*. The patched version has been running for 16+ hours now with slaves and redis-benchmark reconnecting periodically.

Comment #1

Posted on Mar 9, 2010 by Grumpy Dog

Thanks, that's already fixed in Redis Git. Don't remember if it's ok in Redis 1.2.4 as well but I'll backport the fix ASAP.

Comment #2

Posted on Mar 9, 2010 by Grumpy Monkey

It isn't fixed in 1.2.4 (just went to release that and noticed the patch still applied)

Comment #3

Posted on Mar 11, 2010 by Grumpy Monkey

Fixed in 1.2.5, thanks :)

Comment #4

Posted on Aug 24, 2010 by Grumpy Dog

(No comment was entered for this change.)

Status: Verified

Labels:
Type-Defect Priority-Medium