From: Victor Julien Date: Fri, 6 May 2022 21:52:00 +0000 (+0200) Subject: memcmp: no-simd no case loop can scan forward X-Git-Tag: suricata-5.0.10~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3212070e09175c8c38b86df15c8e574fa3f85f1f;p=thirdparty%2Fsuricata.git memcmp: no-simd no case loop can scan forward (cherry picked from commit f0479987ff6f5321613395a8bf1a5eb38530b977) --- diff --git a/src/util-memcmp.h b/src/util-memcmp.h index 847560e20b..a54e6f5125 100644 --- a/src/util-memcmp.h +++ b/src/util-memcmp.h @@ -41,13 +41,8 @@ void MemcmpRegisterTests(void); static inline int MemcmpLowercase(const void *s1, const void *s2, size_t n) { - ssize_t i; - - /* check backwards because we already tested the first - * 2 to 4 chars. This way we are more likely to detect - * a miss and thus speed up a little... */ - for (i = n - 1; i >= 0; i--) { - if (((uint8_t *)s1)[i] != u8_tolower(*(((uint8_t *)s2)+i))) + for (size_t i = 0; i < n; i++) { + if (((uint8_t *)s1)[i] != u8_tolower(((uint8_t *)s2)[i])) return 1; }