dhcpv6: harden reconfigure logic
[project/odhcp6c.git] / src / dhcpv6.c
index 312e7aa80c0df266593a2a3af608f548e2254c63..b9eac435f85defeaa7b5363673be4553ce3d201e 100644 (file)
@@ -849,8 +849,21 @@ int dhcpv6_poll_reconfigure(void)
 {
        int ret = dhcpv6_request(DHCPV6_MSG_UNKNOWN);
 
-       if (ret != -1)
+       switch (ret) {
+       /*
+        * Only RENEW/REBIND/INFORMATION REQUEST
+        * messaage transmission can be requested
+        * by a RECONFIGURE
+        */
+       case DHCPV6_MSG_RENEW:
+       case DHCPV6_MSG_REBIND:
+       case DHCPV6_MSG_INFO_REQ:
                ret = dhcpv6_request(ret);
+               break;
+
+       default:
+               break;
+       }
 
        return ret;
 }