We must use free instead of dhcp_lease_free here to avoid freeing
client_id.data.
lease->address = req->requested_ip;
lease->client_id.data = memdup(req->client_id.data,
req->client_id.length);
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);
lease->client_id.length = req->client_id.length;
} else
lease = existing_lease;
lease->client_id.length = req->client_id.length;
} else
lease = existing_lease;