Use auxiliary variable to store reply before free'ing the list

This commit is contained in:
Pieter Noordhuis 2010-09-19 20:41:03 +02:00
parent 62c8054dbe
commit c18b58899e

View File

@ -274,6 +274,7 @@ static int processItem(redisReader *r) {
#define READ_BUFFER_SIZE 2048
static redisReply *redisReadReply(int fd) {
redisReply *reply;
redisReader r;
int bytes;
@ -319,9 +320,10 @@ static redisReply *redisReadReply(int fd) {
if (processItem(&r) < 0)
break;
}
reply = r.rlist[0];
free(r.buf);
free(r.rlist);
return r.rlist[0];
return reply;
}
/* Helper function for redisCommand(). It's used to append the next argument