]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix an impossible clang analyser warning.
authorRoy Marples <roy@marples.name>
Sat, 27 Sep 2014 02:22:34 +0000 (02:22 +0000)
committerRoy Marples <roy@marples.name>
Sat, 27 Sep 2014 02:22:34 +0000 (02:22 +0000)
dhcpcd.c

index 6d83a149c5410fcf4f7cde49eda8fbeef96a312b..240bd454d89494e803be4e9b8cd9de77bc8331b4 100644 (file)
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -454,7 +454,7 @@ configure_interface1(struct interface *ifp)
        }
 
 #ifdef INET6
-       if (ifo->ia == NULL && ifo->options & DHCPCD_IPV6) {
+       if (ifo->ia_len == 0 && ifo->options & DHCPCD_IPV6) {
                ifo->ia = malloc(sizeof(*ifo->ia));
                if (ifo->ia == NULL)
                        syslog(LOG_ERR, "%s: %m", __func__);
@@ -468,9 +468,11 @@ configure_interface1(struct interface *ifp)
                }
        } else {
                for (i = 0; i < ifo->ia_len; i++) {
-                       if (!ifo->ia[i].iaid_set)
-                               memcpy(ifo->ia->iaid, ifo->iaid,
-                                   sizeof(ifo->iaid));
+                       if (!ifo->ia[i].iaid_set) {
+                               memcpy(&ifo->ia[i].iaid, ifo->iaid,
+                                   sizeof(ifo->ia[i].iaid));
+                               ifo->ia[i].iaid_set = 1;
+                       }
                }
        }
 #endif