From b1b532f58c99f8d199e6081fa9f23b99f8af2a84 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Fri, 3 Jan 2014 00:55:35 +0100 Subject: [PATCH] networkd: dhcp - avoid null pointer dereference --- src/network/networkd-link.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 87f32f00a..17a1e4988 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -513,13 +513,17 @@ static void dhcp_handler(sd_dhcp_client *client, int event, void *userdata) { if (event == DHCP_EVENT_IP_CHANGE || event == DHCP_EVENT_EXPIRED || event == DHCP_EVENT_STOP) { - address_drop(link->dhcp_address, link, address_drop_handler); + if (link->dhcp_address) { + address_drop(link->dhcp_address, link, address_drop_handler); - address_free(link->dhcp_address); - link->dhcp_address = NULL; + address_free(link->dhcp_address); + link->dhcp_address = NULL; + } - route_free(link->dhcp_route); - link->dhcp_route = NULL; + if (link->dhcp_route) { + route_free(link->dhcp_route); + link->dhcp_route = NULL; + } } r = sd_dhcp_client_get_address(client, &address); -- 2.30.2