diff options
Diffstat (limited to 'ares/acountry.c')
-rw-r--r-- | ares/acountry.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ares/acountry.c b/ares/acountry.c index 52ef62e25..37aed60b7 100644 --- a/ares/acountry.c +++ b/ares/acountry.c @@ -523,7 +523,8 @@ static int is_addr(char *str, char **end) { int a0, a1, a2, a3, num, rc = 0, length = 0; - if ((num = sscanf(str,"%3d.%3d.%3d.%3d%n",&a0,&a1,&a2,&a3,&length)) == 4 && + num = sscanf(str,"%3d.%3d.%3d.%3d%n",&a0,&a1,&a2,&a3,&length); + if( (num == 4) && BYTE_OK(a0) && BYTE_OK(a1) && BYTE_OK(a2) && BYTE_OK(a3) && length >= (3+4)) { @@ -583,8 +584,8 @@ static void find_country_from_cname(const char *cname, struct in_addr addr) if (ver_1) { - ccode_A2[0] = tolower(cname[2]); - ccode_A2[1] = tolower(cname[3]); + ccode_A2[0] = (char)tolower(cname[2]); + ccode_A2[1] = (char)tolower(cname[3]); ccode_A2[2] = '\0'; } else |