From: Florian Obser Subject: rad(8): fix carp To: tech Date: Tue, 02 Jul 2024 18:39:14 +0200 This is the correct idiom to get the mac address of ethernet-like network interfaces. Sorry, this was my fault to not spot it earlier. OK? diff --git frontend.c frontend.c index e0beb335295..042cee9908e 100644 --- frontend.c +++ frontend.c @@ -777,8 +777,9 @@ merge_ra_interface(char *if_name, char *conf_name, struct ifaddrs *ifap) link_state = ((struct if_data*)ifa->ifa_data)->ifi_link_state; sdl = (struct sockaddr_dl *)ifa->ifa_addr; - if (sdl->sdl_type == IFT_ETHER && - sdl->sdl_alen == ETHER_ADDR_LEN) { + if (sdl != NULL && (sdl->sdl_type == IFT_ETHER || + sdl->sdl_type == IFT_CARP) && sdl->sdl_alen == + ETHER_ADDR_LEN) { has_hw_addr = 1; memcpy(&hw_addr, LLADDR(sdl), ETHER_ADDR_LEN); } -- In my defence, I have been left unsupervised.