chiark / gitweb /
sd-dhcp6-client: make gcc happy
[elogind.git] / src / libsystemd-network / sd-dhcp6-client.c
index 1d6e42ec83b47d54c567b71401d541a54fb50821..4f60578bc3184707767c2bbec0e7b11d6d2fdb31 100644 (file)
@@ -387,8 +387,8 @@ static int client_timeout_resend(sd_event_source *s, uint64_t usec,
                                  void *userdata) {
         int r = 0;
         sd_dhcp6_client *client = userdata;
-        usec_t time_now, init_retransmit_time, max_retransmit_time;
-        usec_t max_retransmit_duration;
+        usec_t time_now, init_retransmit_time = 0, max_retransmit_time = 0;
+        usec_t max_retransmit_duration = 0;
         uint8_t max_retransmit_count = 0;
         char time_string[FORMAT_TIMESPAN_MAX];
         uint32_t expire = 0;
@@ -409,8 +409,6 @@ static int client_timeout_resend(sd_event_source *s, uint64_t usec,
 
                 init_retransmit_time = DHCP6_SOL_TIMEOUT;
                 max_retransmit_time = DHCP6_SOL_MAX_RT;
-                max_retransmit_count = 0;
-                max_retransmit_duration = 0;
 
                 break;
 
@@ -418,28 +416,22 @@ static int client_timeout_resend(sd_event_source *s, uint64_t usec,
                 init_retransmit_time = DHCP6_REQ_TIMEOUT;
                 max_retransmit_time = DHCP6_REQ_MAX_RT;
                 max_retransmit_count = DHCP6_REQ_MAX_RC;
-                max_retransmit_duration = 0;
 
                 break;
 
         case DHCP6_STATE_RENEW:
                 init_retransmit_time = DHCP6_REN_TIMEOUT;
                 max_retransmit_time = DHCP6_REN_MAX_RT;
-                max_retransmit_count = 0;
 
                 /* RFC 3315, section 18.1.3. says max retransmit duration will
                    be the remaining time until T2. Instead of setting MRD,
                    wait for T2 to trigger with the same end result */
-                max_retransmit_duration = 0;
 
                 break;
 
         case DHCP6_STATE_REBIND:
                 init_retransmit_time = DHCP6_REB_TIMEOUT;
                 max_retransmit_time = DHCP6_REB_MAX_RT;
-                max_retransmit_count = 0;
-
-                max_retransmit_duration = 0;
 
                 if (!client->timeout_resend_expire) {
                         r = dhcp6_lease_ia_rebind_expire(&client->lease->ia,
@@ -716,7 +708,8 @@ static int client_receive_reply(sd_dhcp6_client *client, DHCP6Message *reply,
                         return 0;
         }
 
-        dhcp6_lease_clear_timers(&client->lease->ia);
+        if (client->lease)
+            dhcp6_lease_clear_timers(&client->lease->ia);
 
         client->lease = sd_dhcp6_lease_unref(client->lease);
         client->lease = lease;