n-dhcp4: avoid double free of NDhcp4Outgoing

n_dhcp4_c_connection_start_request() should take ownership of the
request only on success. On failure the request is freed by the
caller.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/355
This commit is contained in:
Beniamino Galvani 2020-02-07 10:56:44 +01:00
parent a119dac998
commit 43016d6ebd

View file

@ -1104,13 +1104,14 @@ int n_dhcp4_c_connection_start_request(NDhcp4CConnection *connection,
if (request->userdata.start_time == 0)
request->userdata.start_time = timestamp;
n_dhcp4_outgoing_free(connection->request);
connection->request = request;
connection->request = n_dhcp4_outgoing_free(connection->request);
r = n_dhcp4_c_connection_send_request(connection, request, timestamp);
if (r)
return r;
connection->request = request;
return 0;
}