From 663b44f4deed94edc7d14f4762cf986654abacda Mon Sep 17 00:00:00 2001 From: 0x1eef <0x1eef@protonmail.com> Date: Fri, 22 Sep 2023 17:08:26 -0300 Subject: [PATCH] Move strncasecmp into for loop --- src/isinetaddr6.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/isinetaddr6.c b/src/isinetaddr6.c index 4e404f4..218339f 100644 --- a/src/isinetaddr6.c +++ b/src/isinetaddr6.c @@ -19,14 +19,11 @@ isinetaddr6(const char *str) int hextets = 1, digitlen = 0, hexdigits = 0; size_t len = (str == NULL ? 0 : strnlen(str, MAX_STRLEN)); - if (len == 0) { - return 0; - } else if (strncasecmp(str, "::ffff", 6) == 0) { - return isinetaddr4(&str[7]); - } for (size_t i = 0; i < len; i++) { if (has_consecutive_chars(&str[i], SEP, 3)) { return 0; + } else if (i == 0 && strncasecmp(str, "::ffff", 6) == 0) { + return isinetaddr4(&str[7]); } else if (has_consecutive_chars(&str[i], SEP, 2)) { if (i == 0 && isinetaddr4(&str[3])) { return 1;