CG: fix parsing in XREADGROUP and streamLookupCG() NULL check.

This commit is contained in:
antirez 2018-01-19 11:11:52 +01:00
parent bd1c11dc35
commit b8e5232161

View File

@ -976,8 +976,8 @@ void xreadCommand(client *c) {
"XREADGROUP. You called XREAD instead."); "XREADGROUP. You called XREAD instead.");
return; return;
} }
groupname = c->argv[i]->ptr; groupname = c->argv[i+1]->ptr;
consumername = c->argv[i+1]->ptr; consumername = c->argv[i+2]->ptr;
i += 2; i += 2;
} else { } else {
addReply(c,shared.syntaxerr); addReply(c,shared.syntaxerr);
@ -1147,6 +1147,7 @@ void streamFreeCG(streamCG *cg) {
/* Lookup the consumer group in the specified stream and returns its /* Lookup the consumer group in the specified stream and returns its
* pointer, otherwise if there is no such group, NULL is returned. */ * pointer, otherwise if there is no such group, NULL is returned. */
streamCG *streamLookupCG(stream *s, sds groupname) { streamCG *streamLookupCG(stream *s, sds groupname) {
if (s->cgroups == NULL) return NULL;
streamCG *cg = raxFind(s->cgroups,(unsigned char*)groupname, streamCG *cg = raxFind(s->cgroups,(unsigned char*)groupname,
sdslen(groupname)); sdslen(groupname));
return (cg == raxNotFound) ? NULL : cg; return (cg == raxNotFound) ? NULL : cg;