summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-06-02 20:09:23 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-06-02 20:09:23 +0000
commitfc5a460e0ead6c0165bb714319357b09a0395b16 (patch)
treeed6d407dd752fb7841729dab66c5923b9f12ccaf
parentefa231bec571af370931e4c5f4a6a23bded69edb (diff)
downloadc-ares-fc5a460e0ead6c0165bb714319357b09a0395b16.tar.gz
c-ares-fc5a460e0ead6c0165bb714319357b09a0395b16.tar.bz2
c-ares-fc5a460e0ead6c0165bb714319357b09a0395b16.zip
Brad Spencer found and fixed three flaws in the code, found with the new
gcc 4.2.0 warning: -Waddress
-rw-r--r--AUTHORS1
-rw-r--r--CHANGES3
-rw-r--r--ares_init.c6
3 files changed, 7 insertions, 3 deletions
diff --git a/AUTHORS b/AUTHORS
index f744914..0931f37 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -25,3 +25,4 @@ Vlad Dinulescu
Brad House
Shmulik Regev
Ashish Sharma
+Brad Spencer
diff --git a/CHANGES b/CHANGES
index 944255e..fd14d3e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
* June 2 2007
+- Brad Spencer found and fixed three flaws in the code, found with the new
+ gcc 4.2.0 warning: -Waddress
+
- Brad House fixed VS2005 compiler warnings due to time_t being 64bit.
He also made recent Microsoft compilers use _strdup() instead of strdup().
diff --git a/ares_init.c b/ares_init.c
index efde967..c9faf45 100644
--- a/ares_init.c
+++ b/ares_init.c
@@ -1059,7 +1059,7 @@ static int config_sortlist(struct apattern **sortlist, int *nsort,
ipbufpfx[0] = '\0';
/* Lets see if it is CIDR */
/* First we'll try IPv6 */
- if ((bits = ares_inet_net_pton(AF_INET6, ipbufpfx ? ipbufpfx : ipbuf,
+ if ((bits = ares_inet_net_pton(AF_INET6, ipbufpfx[0] ? ipbufpfx : ipbuf,
&pat.addr.addr6,
sizeof(pat.addr.addr6))) > 0)
{
@@ -1069,7 +1069,7 @@ static int config_sortlist(struct apattern **sortlist, int *nsort,
if (!sortlist_alloc(sortlist, nsort, &pat))
return ARES_ENOMEM;
}
- if (ipbufpfx &&
+ if (ipbufpfx[0] &&
(bits = ares_inet_net_pton(AF_INET, ipbufpfx, &pat.addr.addr4,
sizeof(pat.addr.addr4))) > 0)
{
@@ -1082,7 +1082,7 @@ static int config_sortlist(struct apattern **sortlist, int *nsort,
/* See if it is just a regular IP */
else if (ip_addr(ipbuf, (int)(q-str), &pat.addr.addr4) == 0)
{
- if (ipbufpfx)
+ if (ipbufpfx[0])
{
memcpy(ipbuf, str, (int)(q-str));
ipbuf[(int)(q-str)] = '\0';