X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmulticast_device.c;h=4d5f10a1408852ea2e7bb2c9aa57e72c1d02ac17;hb=5217c16db4babd64580c2fd7aa36180bb9bd838c;hp=48e120038236055db48b2777181a72b441704dc1;hpb=41583d5dcfc1277b1a203478de4cce2cd0cda1b1;p=tinc diff --git a/src/multicast_device.c b/src/multicast_device.c index 48e12003..4d5f10a1 100644 --- a/src/multicast_device.c +++ b/src/multicast_device.c @@ -129,7 +129,7 @@ static bool setup_device(void) { #endif default: - logger(DEBUG_ALWAYS, LOG_ERR, "Multicast for address family %hx unsupported", ai->ai_family); + logger(DEBUG_ALWAYS, LOG_ERR, "Multicast for address family %x unsupported", ai->ai_family); goto error; } @@ -148,13 +148,15 @@ error: } static void close_device(void) { - close(device_fd); + close(device_fd); device_fd = -1; - free(device); - free(iface); + free(device); device = NULL; + free(iface); iface = NULL; - if(ai) - freeaddrinfo(ai); + if(ai) { + freeaddrinfo(ai); ai = NULL; + } + device_info = NULL; } static bool read_packet(vpn_packet_t *packet) { @@ -162,7 +164,7 @@ static bool read_packet(vpn_packet_t *packet) { if((lenin = recv(device_fd, (void *)packet->data, MTU, 0)) <= 0) { logger(DEBUG_ALWAYS, LOG_ERR, "Error while reading from %s %s: %s", device_info, - device, strerror(errno)); + device, sockstrerror(sockerrno)); return false; } @@ -185,7 +187,7 @@ static bool write_packet(vpn_packet_t *packet) { if(sendto(device_fd, (void *)packet->data, packet->len, 0, ai->ai_addr, ai->ai_addrlen) < 0) { logger(DEBUG_ALWAYS, LOG_ERR, "Can't write to %s %s: %s", device_info, device, - strerror(errno)); + sockstrerror(sockerrno)); return false; }