From 3672875b4cb7bca525bbc2da42f49153fcb7e0eb Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 6 May 2020 16:18:21 +0200 Subject: [PATCH] stringmatchlen() should not expect null terminated strings. --- src/util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util.c b/src/util.c index 537c9313c..0d48f5701 100644 --- a/src/util.c +++ b/src/util.c @@ -51,7 +51,7 @@ int stringmatchlen(const char *pattern, int patternLen, while(patternLen && stringLen) { switch(pattern[0]) { case '*': - while (pattern[1] == '*') { + while (patternLen && pattern[1] == '*') { pattern++; patternLen--; } @@ -94,7 +94,7 @@ int stringmatchlen(const char *pattern, int patternLen, pattern--; patternLen++; break; - } else if (pattern[1] == '-' && patternLen >= 3) { + } else if (patternLen >= 3 && pattern[1] == '-') { int start = pattern[0]; int end = pattern[2]; int c = string[0];