From: Thomas Hindoe Paaboel Andersen <pho...@gmail.com> We must use free instead of dhcp_lease_free here to avoid freeing client_id.data. --- src/libsystemd-network/sd-dhcp-server.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index 17c19cc..38f93c1 100644 --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@ -694,8 +694,10 @@ int dhcp_server_handle_message(sd_dhcp_server *server, DHCPMessage *message, lease->address = req->requested_ip; lease->client_id.data = memdup(req->client_id.data, req->client_id.length); - if (!lease->client_id.data) + if (!lease->client_id.data) { + free(lease); return -ENOMEM; + } lease->client_id.length = req->client_id.length; } else lease = existing_lease; -- 1.9.3 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel