Brad Spencer found and fixed three flaws in the code, found with the new
authorDaniel Stenberg <daniel@haxx.se>
Sat, 2 Jun 2007 20:09:23 +0000 (20:09 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 2 Jun 2007 20:09:23 +0000 (20:09 +0000)
gcc 4.2.0 warning: -Waddress

AUTHORS
CHANGES
ares_init.c

diff --git a/AUTHORS b/AUTHORS
index f744914..0931f37 100644 (file)
--- 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 (file)
--- 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().
 
index efde967..c9faf45 100644 (file)
@@ -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';