chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-dhcp6-client: fix free before use
[elogind.git]
/
src
/
libsystemd-network
/
sd-dhcp-client.c
diff --git
a/src/libsystemd-network/sd-dhcp-client.c
b/src/libsystemd-network/sd-dhcp-client.c
index 1603c41227ea72148cdbfe21ff23f0e4833c824f..8e9f5bd827aa86546d073ab06bf5afb156e1b9a7 100644
(file)
--- a/
src/libsystemd-network/sd-dhcp-client.c
+++ b/
src/libsystemd-network/sd-dhcp-client.c
@@
-776,7
+776,7
@@
static int client_timeout_t1(sd_event_source *s, uint64_t usec,
r = dhcp_network_bind_udp_socket(client->lease->address,
DHCP_PORT_CLIENT);
if (r < 0) {
r = dhcp_network_bind_udp_socket(client->lease->address,
DHCP_PORT_CLIENT);
if (r < 0) {
-
client_stop(client, r
);
+
log_dhcp_client(client, "could not bind UDP socket"
);
return 0;
}
return 0;
}
@@
-879,7
+879,8
@@
static int client_handle_ack(sd_dhcp_client *client, DHCPMessage *ack,
client->lease->subnet_mask != lease->subnet_mask ||
client->lease->router != lease->router) {
r = DHCP_EVENT_IP_CHANGE;
client->lease->subnet_mask != lease->subnet_mask ||
client->lease->router != lease->router) {
r = DHCP_EVENT_IP_CHANGE;
- }
+ } else
+ r = DHCP_EVENT_RENEW;
client->lease = sd_dhcp_lease_unref(client->lease);
}
client->lease = sd_dhcp_lease_unref(client->lease);
}