diff options
author | Susant Sahani <ssahani@gmail.com> | 2015-08-04 11:31:03 +0530 |
---|---|---|
committer | Susant Sahani <ssahani@gmail.com> | 2015-08-04 11:31:03 +0530 |
commit | bff92d2c2f913c368d80066ee89855665818edc8 (patch) | |
tree | 7b8c4b67283a424e111b125b66b7aa3d95445354 | |
parent | 195c9e37fcb1273b92e2cdacc1d0aa573bf7a92d (diff) |
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
-rw-r--r-- | src/libsystemd-network/sd-dhcp-server.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); |