chiark / gitweb /
sd-dhcp-server: fix a leak
[elogind.git] / src / libsystemd-network / sd-dhcp-server.c
index 4ce10549d6b71dc4743eb8106a9af80300e874b9..d9495024ab9476c5990238b97abfee1b50337b9d 100644 (file)
@@ -697,8 +697,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;