From bff92d2c2f913c368d80066ee89855665818edc8 Mon Sep 17 00:00:00 2001 From: Susant Sahani Date: Tue, 4 Aug 2015 11:31:03 +0530 Subject: networkd: DHCP fix CID 1315105 CID 1315105: Resource leaks (RESOURCE_LEAK) /src/libsystemd-network/sd-dhcp-server.c: 800 in dhcp_server_handle_message() *** CID 1315105: Resource leaks (RESOURCE_LEAK) /src/libsystemd-network/sd-dhcp-server.c: 800 in --- src/libsystemd-network/sd-dhcp-server.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index d2cc3194b3..a0af256dee 100644 --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@ -796,8 +796,12 @@ int dhcp_server_handle_message(sd_dhcp_server *server, DHCPMessage *message, r = sd_event_now(server->event, clock_boottime_or_monotonic(), &time_now); - if (r < 0) + if (r < 0) { + if (!existing_lease) + dhcp_lease_free(lease); return r; + } + lease->expiration = req->lifetime * USEC_PER_SEC + time_now; r = server_send_ack(server, req, address); -- cgit v1.2.3-54-g00ecf