From 9265692ad0309773f9f65cce2488cd5a1f574c3c Mon Sep 17 00:00:00 2001 From: Chintan Parikh Date: Tue, 26 Dec 2017 21:26:45 -0800 Subject: [PATCH] Fix mac address is corrupted on OSX. --- server/quick_ssdp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/quick_ssdp.c b/server/quick_ssdp.c index e291008..a957a2a 100644 --- a/server/quick_ssdp.c +++ b/server/quick_ssdp.c @@ -125,8 +125,10 @@ static void get_local_address() { for (struct ifaddrs* cur = iflist; cur; cur = cur->ifa_next) { if (strcmp(cur->ifa_name, if_name) == 0) { if ((cur->ifa_addr->sa_family == AF_LINK) && cur->ifa_addr) { + unsigned char mac[6]; struct sockaddr_dl* sdl = (struct sockaddr_dl*)cur->ifa_addr; - memcpy(hw_addr, LLADDR(sdl), sdl->sdl_alen); + memcpy(mac, LLADDR(sdl), sdl->sdl_alen); + sprintf(hw_addr, "%02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); } if (cur->ifa_addr->sa_family == AF_INET) {