diff --git a/ares/ares_init.c b/ares/ares_init.c index 519d9552474898ed4c354f56b4f8a7b875413fd2..444fd8a66aa9db3c4d862c311debe5e15c0c3fd1 100644 --- a/ares/ares_init.c +++ b/ares/ares_init.c @@ -784,7 +784,7 @@ static char *try_config(char *s, const char *opt) static const char *try_option(const char *p, const char *q, const char *opt) { size_t len = strlen(opt); - return (q - p > len && strncmp(p, opt, len) == 0) ? p + len : NULL; + return ((size_t)(q - p) > len && !strncmp(p, opt, len)) ? &p[len] : NULL; } static int ip_addr(const char *s, int len, struct in_addr *addr)