]> git.decadent.org.uk Git - odhcp6c.git/blobdiff - src/dhcpv6.c
Fix IA-status detection
[odhcp6c.git] / src / dhcpv6.c
index e99195840f96ed5a7474f01f35dc288ba9c42f07..d2da0535bed59cc9f22d9642516d164a5d45f6d6 100644 (file)
@@ -647,6 +647,7 @@ static int dhcpv6_handle_reply(enum dhcpv6_msg orig,
                        if (ia_hdr->iaid != 1 || l_t2 < l_t1)
                                continue;
 
+                       bool error = false;
                        uint16_t stype, slen;
                        uint8_t *sdata;
                        // Test status and bail if error
@@ -654,7 +655,10 @@ static int dhcpv6_handle_reply(enum dhcpv6_msg orig,
                                        stype, slen, sdata)
                                if (stype == DHCPV6_OPT_STATUS && slen >= 2 &&
                                                (sdata[0] || sdata[1]))
-                                       continue;
+                                       error = true;
+
+                       if (error)
+                               continue;
 
                        // Update times
                        if (l_t1 > 0 && t1 > l_t1)