chiark / gitweb /
dhcp: Properly handle unsuccessful cases for DHCP Ack
[elogind.git] / src / libsystemd-dhcp / dhcp-client.c
index 01d406c27b3cc946958b8f45c95ccb078a0c2705..c0c348cbf1e6af37f42a4a29dd317782ecfb781f 100644 (file)
@@ -897,6 +897,9 @@ static int client_receive_raw_message(sd_event_source *s, int fd,
                         client->receive_message =
                                 sd_event_source_unref(client->receive_message);
                 }
+
+                r = 0;
+
                 break;
 
         case DHCP_STATE_INIT:
@@ -910,7 +913,7 @@ static int client_receive_raw_message(sd_event_source *s, int fd,
         }
 
 error:
-        if (r < 0)
+        if (r < 0 || r == DHCP_EVENT_NO_LEASE)
                 return client_stop(client, r);
 
         return 0;