X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fuml_device.c;h=a675b62e045ab8b2c285d2c028c8f0441892c432;hb=de7d5a03c2b956ab5753faf63b8148a279a71f29;hp=dbb13e937b3dbcdc79302ffa2d3e4ba55226f8c0;hpb=38489e37f50e807e51bfd28ebb8b20396eed1447;p=tinc diff --git a/src/uml_device.c b/src/uml_device.c index dbb13e93..a675b62e 100644 --- a/src/uml_device.c +++ b/src/uml_device.c @@ -133,6 +133,7 @@ static bool setup_device(void) { listen_sun.sun_family = AF_UNIX; strncpy(listen_sun.sun_path, device, sizeof(listen_sun.sun_path)); + listen_sun.sun_path[sizeof(listen_sun.sun_path) - 1] = 0; if(bind(listen_fd, (struct sockaddr *)&listen_sun, sizeof(listen_sun)) < 0) { logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind %s to %s: %s", device_info, device, strerror(errno)); @@ -182,10 +183,8 @@ void close_device(void) { free(device); device = NULL; - if(iface) { - free(iface); - iface = NULL; - } + free(iface); + iface = NULL; device_info = NULL; } @@ -238,7 +237,7 @@ static bool read_packet(vpn_packet_t *packet) { return false; } - if(connect(write_fd, (struct sockkadr *)&request.sock, sizeof(request.sock)) < 0) { + if(connect(write_fd, (const struct sockaddr *)&request.sock, sizeof(request.sock)) < 0) { logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind write %s: %s", device_info, strerror(errno)); event_exit(); return false;