]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix clen length for hiredis...
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 19 May 2020 19:53:42 +0000 (20:53 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 19 May 2020 19:53:42 +0000 (20:53 +0100)
contrib/hiredis/async.c

index 4a2cadf8b93d9c9066b4c3603aa168c7fdf12861..afa54130464e3b730bdfa7b05f8ab4e709967ba5 100644 (file)
@@ -611,7 +611,7 @@ static int __redisAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void
     cstr += pvariant;
     clen -= pvariant;
 
-    if (hasnext && clen >= 11 && strncasecmp(cstr,"subscribe\r\n",11) == 0) {
+    if (hasnext && clen >= 9 && strncasecmp(cstr,"subscribe\r\n",9) == 0) {
         c->flags |= REDIS_SUBSCRIBED;
 
         /* Add every channel/pattern to the list of subscription callbacks. */
@@ -624,7 +624,7 @@ static int __redisAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void
 
             if (ret == 0) sdsfree(sname);
         }
-    } else if (clen >= 13 && strncasecmp(cstr,"unsubscribe\r\n",13) == 0) {
+    } else if (clen >= 11 && strncasecmp(cstr,"unsubscribe\r\n",11) == 0) {
         /* It is only useful to call (P)UNSUBSCRIBE when the context is
          * subscribed to one or more channels or patterns. */
         if (!(c->flags & REDIS_SUBSCRIBED)) return REDIS_ERR;
@@ -632,7 +632,7 @@ static int __redisAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void
         /* (P)UNSUBSCRIBE does not have its own response: every channel or
          * pattern that is unsubscribed will receive a message. This means we
          * should not append a callback function for this command. */
-     } else if(clen >= 9 && strncasecmp(cstr,"monitor\r\n",9) == 0) {
+     } else if(clen >= 7 && strncasecmp(cstr,"monitor\r\n",7) == 0) {
          /* Set monitor flag and push callback */
          c->flags |= REDIS_MONITORING;
          __redisPushCallback(&ac->replies,&cb);