1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-25 01:34:28 +03:00

test-dhcp-client: unref lease objects to make valgrind happy

Also unref client objects in test code, and initalize logging,
to DEBUG by default.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2014-04-10 23:45:46 -04:00
parent ca2d378414
commit 6e00a80641
3 changed files with 14 additions and 4 deletions

View File

@ -805,6 +805,7 @@ static int client_handle_offer(sd_dhcp_client *client, DHCPMessage *offer,
}
}
sd_dhcp_lease_unref(client->lease);
client->lease = lease;
lease = NULL;
@ -1330,6 +1331,8 @@ sd_dhcp_client *sd_dhcp_client_unref(sd_dhcp_client *client) {
sd_dhcp_client_detach_event(client);
sd_dhcp_lease_unref(client->lease);
free(client->req_opts);
free(client);

View File

@ -271,7 +271,7 @@ int dhcp_lease_parse_options(uint8_t code, uint8_t len, const uint8_t *option,
}
int dhcp_lease_new(sd_dhcp_lease **ret) {
_cleanup_dhcp_lease_unref_ sd_dhcp_lease *lease = NULL;
sd_dhcp_lease *lease;
lease = new0(sd_dhcp_lease, 1);
if (!lease)
@ -280,8 +280,6 @@ int dhcp_lease_new(sd_dhcp_lease **ret) {
lease->n_ref = REFCNT_INIT;
*ret = lease;
lease = NULL;
return 0;
}

View File

@ -29,6 +29,8 @@
#include "util.h"
#include "socket-util.h"
#include "sd-event.h"
#include "event-util.h"
#include "dhcp-protocol.h"
#include "dhcp-internal.h"
@ -109,6 +111,8 @@ static void test_request_basic(sd_event *e)
assert_se(sd_dhcp_client_set_request_option(client, 33) == -EEXIST);
assert_se(sd_dhcp_client_set_request_option(client, 44) == 0);
assert_se(sd_dhcp_client_set_request_option(client, 33) == -EEXIST);
sd_dhcp_client_unref(client);
}
static void test_checksum(void)
@ -373,6 +377,7 @@ static void test_addr_acq_acquired(sd_dhcp_client *client, int event,
if (verbose)
printf(" DHCP address acquired\n");
sd_dhcp_lease_unref(lease);
sd_event_exit(e, 0);
}
@ -485,7 +490,11 @@ static void test_addr_acq(sd_event *e) {
}
int main(int argc, char *argv[]) {
sd_event *e;
_cleanup_event_unref_ sd_event *e;
log_set_max_level(LOG_DEBUG);
log_parse_environment();
log_open();
assert_se(sd_event_new(&e) >= 0);