Use correct sizeof in ares_getnameinfo()
authorJakub Hrozek <jhrozek@redhat.com>
Tue, 14 Jun 2011 17:04:23 +0000 (19:04 +0200)
committerJakub Hrozek <jhrozek@redhat.com>
Tue, 14 Jun 2011 17:04:23 +0000 (19:04 +0200)
ares_getnameinfo.c

index c0d2e18e89317c0dfed794fd5ce9d33f8583b10d..82e261dae41a0a3c7fef4cebba65386a3ca2d4a2 100644 (file)
@@ -188,7 +188,7 @@ void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa,
         if (sa->sa_family == AF_INET)
           {
             niquery->family = AF_INET;
-            memcpy(&niquery->addr.addr4, addr, sizeof(addr));
+            memcpy(&niquery->addr.addr4, addr, sizeof(struct in_addr));
             ares_gethostbyaddr(channel, &addr->sin_addr,
                                sizeof(struct in_addr), AF_INET,
                                nameinfo_callback, niquery);
@@ -196,7 +196,7 @@ void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa,
         else
           {
             niquery->family = AF_INET6;
-            memcpy(&niquery->addr.addr6, addr6, sizeof(addr6));
+            memcpy(&niquery->addr.addr6, addr6, sizeof(struct ares_in6_addr));
             ares_gethostbyaddr(channel, &addr6->sin6_addr,
                                sizeof(struct ares_in6_addr), AF_INET6,
                                nameinfo_callback, niquery);