Convert sizeof foo to sizeof(foo).
authorGuus Sliepen <guus@tinc-vpn.org>
Sat, 7 Oct 2017 15:47:19 +0000 (17:47 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Sat, 7 Oct 2017 15:47:56 +0000 (17:47 +0200)
While technically sizeof is an operator and doesn't need the parentheses
around expressions it operates on, except if they are type names, code
formatters don't seem to handle this very well.

58 files changed:
src/autoconnect.c
src/bsd/device.c
src/bsd/tunemu.c
src/chacha-poly1305/chacha-poly1305.c
src/conf.c
src/connection.c
src/control.c
src/cygwin/device.c
src/ed25519/ecdh.c
src/ed25519/ecdsa.c
src/ed25519/ecdsagen.c
src/event.c
src/fsck.c
src/gcrypt/cipher.c
src/gcrypt/digest.c
src/gcrypt/prf.c
src/gcrypt/rsa.c
src/gcrypt/rsagen.c
src/graph.c
src/hash.c
src/ifconfig.c
src/info.c
src/invitation.c
src/logger.c
src/meta.c
src/mingw/device.c
src/multicast_device.c
src/names.c
src/net.c
src/net_packet.c
src/net_setup.c
src/net_socket.c
src/netutl.c
src/node.c
src/nolegacy/prf.c
src/openssl/cipher.c
src/openssl/digest.c
src/process.c
src/protocol.c
src/protocol_auth.c
src/protocol_key.c
src/protocol_subnet.c
src/raw_socket_device.c
src/route.c
src/script.c
src/solaris/device.c
src/sptps.c
src/sptps_speed.c
src/sptps_test.c
src/subnet.c
src/subnet_parse.c
src/tincctl.c
src/top.c
src/uml_device.c
src/upnp.c
src/utils.c
src/xalloc.h
test/pong.c

index 1ea51b5..e97a33c 100644 (file)
@@ -56,7 +56,7 @@ static void make_new_connection() {
 
                if(!found) {
                        logger(DEBUG_CONNECTIONS, LOG_INFO, "Autoconnecting to %s", n->name);
 
                if(!found) {
                        logger(DEBUG_CONNECTIONS, LOG_INFO, "Autoconnecting to %s", n->name);
-                       outgoing_t *outgoing = xzalloc(sizeof *outgoing);
+                       outgoing_t *outgoing = xzalloc(sizeof(*outgoing));
                        outgoing->name = xstrdup(n->name);
                        list_insert_tail(outgoing_list, outgoing);
                        setup_outgoing_connection(outgoing);
                        outgoing->name = xstrdup(n->name);
                        list_insert_tail(outgoing_list, outgoing);
                        setup_outgoing_connection(outgoing);
@@ -90,7 +90,7 @@ static void connect_to_unreachable() {
                                return;
 
                logger(DEBUG_CONNECTIONS, LOG_INFO, "Autoconnecting to %s", n->name);
                                return;
 
                logger(DEBUG_CONNECTIONS, LOG_INFO, "Autoconnecting to %s", n->name);
-               outgoing_t *outgoing = xzalloc(sizeof *outgoing);
+               outgoing_t *outgoing = xzalloc(sizeof(*outgoing));
                outgoing->name = xstrdup(n->name);
                list_insert_tail(outgoing_list, outgoing);
                setup_outgoing_connection(outgoing);
                outgoing->name = xstrdup(n->name);
                list_insert_tail(outgoing_list, outgoing);
                setup_outgoing_connection(outgoing);
index 4a63e84..ec088a4 100644 (file)
@@ -74,7 +74,7 @@ static bool setup_utun(void) {
        }
 
        struct ctl_info info = {};
        }
 
        struct ctl_info info = {};
-       strlcpy(info.ctl_name, UTUN_CONTROL_NAME, sizeof info.ctl_name);
+       strlcpy(info.ctl_name, UTUN_CONTROL_NAME, sizeof(info.ctl_name));
 
        if(ioctl(device_fd, CTLIOCGINFO, &info) == -1) {
                logger(DEBUG_ALWAYS, LOG_ERR, "ioctl(CTLIOCGINFO) failed: %s", strerror(errno));
 
        if(ioctl(device_fd, CTLIOCGINFO, &info) == -1) {
                logger(DEBUG_ALWAYS, LOG_ERR, "ioctl(CTLIOCGINFO) failed: %s", strerror(errno));
@@ -91,7 +91,7 @@ static bool setup_utun(void) {
 
        struct sockaddr_ctl sc = {
                .sc_id = info.ctl_id,
 
        struct sockaddr_ctl sc = {
                .sc_id = info.ctl_id,
-               .sc_len = sizeof sc,
+               .sc_len = sizeof(sc),
                .sc_family = AF_SYSTEM,
                .ss_sysaddr = AF_SYS_CONTROL,
                .sc_unit = unit + 1,
                .sc_family = AF_SYSTEM,
                .ss_sysaddr = AF_SYS_CONTROL,
                .sc_unit = unit + 1,
@@ -103,7 +103,7 @@ static bool setup_utun(void) {
        }
 
        char name[64] = "";
        }
 
        char name[64] = "";
-       socklen_t len = sizeof name;
+       socklen_t len = sizeof(name);
        if(getsockopt(device_fd, SYSPROTO_CONTROL, UTUN_OPT_IFNAME, name, &len)) {
                iface = xstrdup(device);
        } else {
        if(getsockopt(device_fd, SYSPROTO_CONTROL, UTUN_OPT_IFNAME, name, &len)) {
                iface = xstrdup(device);
        } else {
@@ -225,7 +225,7 @@ static bool setup_device(void) {
 #ifdef TUNSIFHEAD
                {
                        const int zero = 0;
 #ifdef TUNSIFHEAD
                {
                        const int zero = 0;
-                       if(ioctl(device_fd, TUNSIFHEAD, &zero, sizeof zero) == -1) {
+                       if(ioctl(device_fd, TUNSIFHEAD, &zero, sizeof(zero)) == -1) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "ioctl", strerror(errno));
                                return false;
                        }
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "ioctl", strerror(errno));
                                return false;
                        }
@@ -234,7 +234,7 @@ static bool setup_device(void) {
 #if defined(TUNSIFMODE) && defined(IFF_BROADCAST) && defined(IFF_MULTICAST)
                {
                        const int mode = IFF_BROADCAST | IFF_MULTICAST;
 #if defined(TUNSIFMODE) && defined(IFF_BROADCAST) && defined(IFF_MULTICAST)
                {
                        const int mode = IFF_BROADCAST | IFF_MULTICAST;
-                       ioctl(device_fd, TUNSIFMODE, &mode, sizeof mode);
+                       ioctl(device_fd, TUNSIFMODE, &mode, sizeof(mode));
                }
 #endif
 
                }
 #endif
 
@@ -244,7 +244,7 @@ static bool setup_device(void) {
 #ifdef TUNSIFHEAD
                {
                        const int one = 1;
 #ifdef TUNSIFHEAD
                {
                        const int one = 1;
-                       if(ioctl(device_fd, TUNSIFHEAD, &one, sizeof one) == -1) {
+                       if(ioctl(device_fd, TUNSIFHEAD, &one, sizeof(one)) == -1) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "ioctl", strerror(errno));
                                return false;
                        }
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "ioctl", strerror(errno));
                                return false;
                        }
@@ -253,7 +253,7 @@ static bool setup_device(void) {
 #if defined(TUNSIFMODE) && defined(IFF_BROADCAST) && defined(IFF_MULTICAST)
                {
                                const int mode = IFF_BROADCAST | IFF_MULTICAST;
 #if defined(TUNSIFMODE) && defined(IFF_BROADCAST) && defined(IFF_MULTICAST)
                {
                                const int mode = IFF_BROADCAST | IFF_MULTICAST;
-                               ioctl(device_fd, TUNSIFMODE, &mode, sizeof mode);
+                               ioctl(device_fd, TUNSIFMODE, &mode, sizeof(mode));
                }
 #endif
 
                }
 #endif
 
@@ -431,7 +431,7 @@ static bool write_packet(vpn_packet_t *packet) {
                                        return false;
                        }
 
                                        return false;
                        }
 
-                       memcpy(DATA(packet) + 10, &type, sizeof type);
+                       memcpy(DATA(packet) + 10, &type, sizeof(type));
 
                        if(write(device_fd, DATA(packet) + 10, packet->len - 10) < 0) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Can't write to %s %s: %s", device_info, device,
 
                        if(write(device_fd, DATA(packet) + 10, packet->len - 10) < 0) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Can't write to %s %s: %s", device_info, device,
index d2b9f3d..6d5dd1a 100644 (file)
@@ -87,7 +87,7 @@ static void tun_error(char *format, ...)
 {
        va_list vl;
        va_start(vl, format);
 {
        va_list vl;
        va_start(vl, format);
-       vsnprintf(tunemu_error, sizeof tunemu_error, format, vl);
+       vsnprintf(tunemu_error, sizeof(tunemu_error), format, vl);
        va_end(vl);
 }
 
        va_end(vl);
 }
 
index bd5cb2c..d4f3723 100644 (file)
@@ -13,7 +13,7 @@ struct chacha_poly1305_ctx {
 
 chacha_poly1305_ctx_t *chacha_poly1305_init(void)
 {
 
 chacha_poly1305_ctx_t *chacha_poly1305_init(void)
 {
-       chacha_poly1305_ctx_t *ctx = xzalloc(sizeof *ctx);
+       chacha_poly1305_ctx_t *ctx = xzalloc(sizeof(*ctx));
        return ctx;
 }
 
        return ctx;
 }
 
index 7756247..8a7e525 100644 (file)
@@ -202,9 +202,9 @@ bool get_config_subnet(const config_t *cfg, subnet_t ** result) {
        /* Teach newbies what subnets are... */
 
        if(((subnet.type == SUBNET_IPV4)
        /* Teach newbies what subnets are... */
 
        if(((subnet.type == SUBNET_IPV4)
-               && !maskcheck(&subnet.net.ipv4.address, subnet.net.ipv4.prefixlength, sizeof subnet.net.ipv4.address))
+               && !maskcheck(&subnet.net.ipv4.address, subnet.net.ipv4.prefixlength, sizeof(subnet.net.ipv4.address)))
                || ((subnet.type == SUBNET_IPV6)
                || ((subnet.type == SUBNET_IPV6)
-               && !maskcheck(&subnet.net.ipv6.address, subnet.net.ipv6.prefixlength, sizeof subnet.net.ipv6.address))) {
+               && !maskcheck(&subnet.net.ipv6.address, subnet.net.ipv6.prefixlength, sizeof(subnet.net.ipv6.address)))) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Network address and prefix length do not match for configuration variable %s in %s line %d",
                           cfg->variable, cfg->file, cfg->line);
                return false;
                logger(DEBUG_ALWAYS, LOG_ERR, "Network address and prefix length do not match for configuration variable %s in %s line %d",
                           cfg->variable, cfg->file, cfg->line);
                return false;
@@ -303,7 +303,7 @@ bool read_config_file(splay_tree_t *config_tree, const char *fname) {
        }
 
        for(;;) {
        }
 
        for(;;) {
-               line = readline(fp, buffer, sizeof buffer);
+               line = readline(fp, buffer, sizeof(buffer));
 
                if(!line) {
                        if(feof(fp))
 
                if(!line) {
                        if(feof(fp))
@@ -373,14 +373,14 @@ bool read_server_config(void) {
 
        read_config_options(config_tree, NULL);
 
 
        read_config_options(config_tree, NULL);
 
-       snprintf(fname, sizeof fname, "%s" SLASH "tinc.conf", confbase);
+       snprintf(fname, sizeof(fname), "%s" SLASH "tinc.conf", confbase);
        errno = 0;
        x = read_config_file(config_tree, fname);
 
        // We will try to read the conf files in the "conf.d" dir
        if (x) {
                char dname[PATH_MAX];
        errno = 0;
        x = read_config_file(config_tree, fname);
 
        // We will try to read the conf files in the "conf.d" dir
        if (x) {
                char dname[PATH_MAX];
-               snprintf(dname, sizeof dname, "%s" SLASH "conf.d", confbase);
+               snprintf(dname, sizeof(dname), "%s" SLASH "conf.d", confbase);
                DIR *dir = opendir (dname);
                // If we can find this dir
                if (dir) { 
                DIR *dir = opendir (dname);
                // If we can find this dir
                if (dir) { 
@@ -390,7 +390,7 @@ bool read_server_config(void) {
                                size_t l = strlen(ep->d_name);
                                // And we try to read the ones that end with ".conf"
                                if (l > 5 && !strcmp(".conf", & ep->d_name[ l - 5 ])) {
                                size_t l = strlen(ep->d_name);
                                // And we try to read the ones that end with ".conf"
                                if (l > 5 && !strcmp(".conf", & ep->d_name[ l - 5 ])) {
-                                       snprintf(fname, sizeof fname, "%s" SLASH "%s", dname, ep->d_name);
+                                       snprintf(fname, sizeof(fname), "%s" SLASH "%s", dname, ep->d_name);
                                        x = read_config_file(config_tree, fname);
                                }
                        }
                                        x = read_config_file(config_tree, fname);
                                }
                        }
@@ -410,7 +410,7 @@ bool read_host_config(splay_tree_t *config_tree, const char *name) {
 
        read_config_options(config_tree, name);
 
 
        read_config_options(config_tree, name);
 
-       snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, name);
+       snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, name);
        x = read_config_file(config_tree, fname);
 
        return x;
        x = read_config_file(config_tree, fname);
 
        return x;
@@ -418,7 +418,7 @@ bool read_host_config(splay_tree_t *config_tree, const char *name) {
 
 bool append_config_file(const char *name, const char *key, const char *value) {
        char fname[PATH_MAX];
 
 bool append_config_file(const char *name, const char *key, const char *value) {
        char fname[PATH_MAX];
-       snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, name);
+       snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, name);
 
        FILE *fp = fopen(fname, "a");
 
 
        FILE *fp = fopen(fname, "a");
 
index 0e61132..5fcecbd 100644 (file)
@@ -98,7 +98,7 @@ bool dump_connections(connection_t *cdump) {
                send_request(cdump, "%d %d %s %s %x %d %x",
                                CONTROL, REQ_DUMP_CONNECTIONS,
                                c->name, c->hostname, c->options, c->socket,
                send_request(cdump, "%d %d %s %s %x %d %x",
                                CONTROL, REQ_DUMP_CONNECTIONS,
                                c->name, c->hostname, c->options, c->socket,
-                               bitfield_to_int(&c->status, sizeof c->status));
+                               bitfield_to_int(&c->status, sizeof(c->status)));
        }
 
        return send_request(cdump, "%d %d", CONTROL, REQ_DUMP_CONNECTIONS);
        }
 
        return send_request(cdump, "%d %d", CONTROL, REQ_DUMP_CONNECTIONS);
index 98eae80..bf8a12b 100644 (file)
@@ -134,8 +134,8 @@ bool control_h(connection_t *c, const char *request) {
 }
 
 bool init_control(void) {
 }
 
 bool init_control(void) {
-       randomize(controlcookie, sizeof controlcookie / 2);
-       bin2hex(controlcookie, controlcookie, sizeof controlcookie / 2);
+       randomize(controlcookie, sizeof(controlcookie) / 2);
+       bin2hex(controlcookie, controlcookie, sizeof(controlcookie) / 2);
 
        mode_t mask = umask(0);
        umask(mask | 077);
 
        mode_t mask = umask(0);
        umask(mask | 077);
@@ -151,7 +151,7 @@ bool init_control(void) {
 
        char *localhost = NULL;
        sockaddr_t sa;
 
        char *localhost = NULL;
        sockaddr_t sa;
-       socklen_t len = sizeof sa;
+       socklen_t len = sizeof(sa);
 
        // Make sure we have a valid address, and map 0.0.0.0 and :: to 127.0.0.1 and ::1.
 
 
        // Make sure we have a valid address, and map 0.0.0.0 and :: to 127.0.0.1 and ::1.
 
@@ -163,7 +163,7 @@ bool init_control(void) {
                                sa.in.sin_addr.s_addr = htonl(0x7f000001);
                } else if(sa.sa.sa_family == AF_INET6) {
                        static const uint8_t zero[16] = {0};
                                sa.in.sin_addr.s_addr = htonl(0x7f000001);
                } else if(sa.sa.sa_family == AF_INET6) {
                        static const uint8_t zero[16] = {0};
-                       if(!memcmp(sa.in6.sin6_addr.s6_addr, zero, sizeof zero))
+                       if(!memcmp(sa.in6.sin6_addr.s6_addr, zero, sizeof(zero)))
                                sa.in6.sin6_addr.s6_addr[15] = 1;
                }
 
                                sa.in6.sin6_addr.s6_addr[15] = 1;
                }
 
@@ -184,9 +184,9 @@ bool init_control(void) {
 
        struct sockaddr_un sa_un;
        sa_un.sun_family = AF_UNIX;
 
        struct sockaddr_un sa_un;
        sa_un.sun_family = AF_UNIX;
-       strncpy(sa_un.sun_path, unixsocketname, sizeof sa_un.sun_path);
+       strncpy(sa_un.sun_path, unixsocketname, sizeof(sa_un.sun_path));
 
 
-       if(connect(unix_fd, (struct sockaddr *)&sa_un, sizeof sa_un) >= 0) {
+       if(connect(unix_fd, (struct sockaddr *)&sa_un, sizeof(sa_un)) >= 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "UNIX socket %s is still in use!", unixsocketname);
                return false;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "UNIX socket %s is still in use!", unixsocketname);
                return false;
        }
@@ -194,7 +194,7 @@ bool init_control(void) {
        unlink(unixsocketname);
 
        umask(mask | 077);
        unlink(unixsocketname);
 
        umask(mask | 077);
-       int result = bind(unix_fd, (struct sockaddr *)&sa_un, sizeof sa_un);
+       int result = bind(unix_fd, (struct sockaddr *)&sa_un, sizeof(sa_un));
        umask(mask);
 
        if(result < 0) {
        umask(mask);
 
        if(result < 0) {
index d3a4303..64fcc7c 100644 (file)
@@ -70,18 +70,18 @@ static bool setup_device(void) {
        }
 
        for (i = 0; ; i++) {
        }
 
        for (i = 0; ; i++) {
-               len = sizeof adapterid;
+               len = sizeof(adapterid);
                if(RegEnumKeyEx(key, i, adapterid, &len, 0, 0, 0, NULL))
                        break;
 
                /* Find out more about this adapter */
 
                if(RegEnumKeyEx(key, i, adapterid, &len, 0, 0, 0, NULL))
                        break;
 
                /* Find out more about this adapter */
 
-               snprintf(regpath, sizeof regpath, "%s\\%s\\Connection", NETWORK_CONNECTIONS_KEY, adapterid);
+               snprintf(regpath, sizeof(regpath), "%s\\%s\\Connection", NETWORK_CONNECTIONS_KEY, adapterid);
 
                if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, regpath, 0, KEY_READ, &key2))
                        continue;
 
 
                if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, regpath, 0, KEY_READ, &key2))
                        continue;
 
-               len = sizeof adaptername;
+               len = sizeof(adaptername);
                err = RegQueryValueEx(key2, "Name", 0, 0, adaptername, &len);
 
                RegCloseKey(key2);
                err = RegQueryValueEx(key2, "Name", 0, 0, adaptername, &len);
 
                RegCloseKey(key2);
@@ -105,7 +105,7 @@ static bool setup_device(void) {
                                continue;
                }
 
                                continue;
                }
 
-               snprintf(tapname, sizeof tapname, USERMODEDEVICEDIR "%s" TAPSUFFIX, adapterid);
+               snprintf(tapname, sizeof(tapname), USERMODEDEVICEDIR "%s" TAPSUFFIX, adapterid);
                device_handle = CreateFile(tapname, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, 0);
                if(device_handle != INVALID_HANDLE_VALUE) {
                        CloseHandle(device_handle);
                device_handle = CreateFile(tapname, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, 0);
                if(device_handle != INVALID_HANDLE_VALUE) {
                        CloseHandle(device_handle);
@@ -127,7 +127,7 @@ static bool setup_device(void) {
        if(!iface)
                iface = xstrdup(adaptername);
 
        if(!iface)
                iface = xstrdup(adaptername);
 
-       snprintf(tapname, sizeof tapname, USERMODEDEVICEDIR "%s" TAPSUFFIX, device);
+       snprintf(tapname, sizeof(tapname), USERMODEDEVICEDIR "%s" TAPSUFFIX, device);
 
        /* Now we are going to open this device twice: once for reading and once for writing.
           We do this because apparently it isn't possible to check for activity in the select() loop.
 
        /* Now we are going to open this device twice: once for reading and once for writing.
           We do this because apparently it isn't possible to check for activity in the select() loop.
@@ -151,7 +151,7 @@ static bool setup_device(void) {
 
        /* Get MAC address from tap device */
 
 
        /* Get MAC address from tap device */
 
-       if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_MAC, mymac.x, sizeof mymac.x, mymac.x, sizeof mymac.x, &len, 0)) {
+       if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_MAC, mymac.x, sizeof(mymac.x), mymac.x, sizeof mymac.x, &len, 0)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get MAC address from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
                return false;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get MAC address from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
                return false;
        }
index 9adf19f..302fafd 100644 (file)
@@ -31,10 +31,10 @@ typedef struct ecdh_t {
 #include "../xalloc.h"
 
 ecdh_t *ecdh_generate_public(void *pubkey) {
 #include "../xalloc.h"
 
 ecdh_t *ecdh_generate_public(void *pubkey) {
-       ecdh_t *ecdh = xzalloc(sizeof *ecdh);
+       ecdh_t *ecdh = xzalloc(sizeof(*ecdh));
 
        uint8_t seed[32];
 
        uint8_t seed[32];
-       randomize(seed, sizeof seed);
+       randomize(seed, sizeof(seed));
        ed25519_create_keypair(pubkey, ecdh->private, seed);
 
        return ecdh;
        ed25519_create_keypair(pubkey, ecdh->private, seed);
 
        return ecdh;
index 05b8550..78e24fe 100644 (file)
@@ -42,7 +42,7 @@ ecdsa_t *ecdsa_set_base64_public_key(const char *p) {
                return 0;
        }
 
                return 0;
        }
 
-       ecdsa_t *ecdsa = xzalloc(sizeof *ecdsa);
+       ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa));
        len = b64decode(p, ecdsa->public, len);
        if(len != 32) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Invalid format of public key! len = %d", len);
        len = b64decode(p, ecdsa->public, len);
        if(len != 32) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Invalid format of public key! len = %d", len);
@@ -55,7 +55,7 @@ ecdsa_t *ecdsa_set_base64_public_key(const char *p) {
 
 char *ecdsa_get_base64_public_key(ecdsa_t *ecdsa) {
        char *base64 = xmalloc(44);
 
 char *ecdsa_get_base64_public_key(ecdsa_t *ecdsa) {
        char *base64 = xmalloc(44);
-       b64encode(ecdsa->public, base64, sizeof ecdsa->public);
+       b64encode(ecdsa->public, base64, sizeof(ecdsa->public));
 
        return base64;
 }
 
        return base64;
 }
@@ -67,7 +67,7 @@ static bool read_pem(FILE *fp, const char *type, void *buf, size_t size) {
        bool data = false;
        size_t typelen = strlen(type);
 
        bool data = false;
        size_t typelen = strlen(type);
 
-       while(fgets(line, sizeof line, fp)) {
+       while(fgets(line, sizeof(line), fp)) {
                if(!data) {
                        if(strncmp(line, "-----BEGIN ", 11))
                                continue;
                if(!data) {
                        if(strncmp(line, "-----BEGIN ", 11))
                                continue;
@@ -113,16 +113,16 @@ static bool read_pem(FILE *fp, const char *type, void *buf, size_t size) {
 }
 
 ecdsa_t *ecdsa_read_pem_public_key(FILE *fp) {
 }
 
 ecdsa_t *ecdsa_read_pem_public_key(FILE *fp) {
-       ecdsa_t *ecdsa = xzalloc(sizeof *ecdsa);
-       if(read_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof ecdsa->public))
+       ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa));
+       if(read_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof(ecdsa->public)))
                return ecdsa;
        free(ecdsa);
        return 0;
 }
 
 ecdsa_t *ecdsa_read_pem_private_key(FILE *fp) {
                return ecdsa;
        free(ecdsa);
        return 0;
 }
 
 ecdsa_t *ecdsa_read_pem_private_key(FILE *fp) {
-       ecdsa_t *ecdsa = xmalloc(sizeof *ecdsa);
-       if(read_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof *ecdsa))
+       ecdsa_t *ecdsa = xmalloc(sizeof(*ecdsa));
+       if(read_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof(*ecdsa)))
                return ecdsa;
        free(ecdsa);
        return 0;
                return ecdsa;
        free(ecdsa);
        return 0;
index 23ef6e9..5120f28 100644 (file)
@@ -35,10 +35,10 @@ typedef struct {
 // Generate ECDSA key
 
 ecdsa_t *ecdsa_generate(void) {
 // Generate ECDSA key
 
 ecdsa_t *ecdsa_generate(void) {
-       ecdsa_t *ecdsa = xzalloc(sizeof *ecdsa);
+       ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa));
 
        uint8_t seed[32];
 
        uint8_t seed[32];
-       randomize(seed, sizeof seed);
+       randomize(seed, sizeof(seed));
        ed25519_create_keypair(ecdsa->public, ecdsa->private, seed);
 
        return ecdsa;
        ed25519_create_keypair(ecdsa->public, ecdsa->private, seed);
 
        return ecdsa;
@@ -63,9 +63,9 @@ static bool write_pem(FILE *fp, const char *type, void *buf, size_t size) {
 }
 
 bool ecdsa_write_pem_public_key(ecdsa_t *ecdsa, FILE *fp) {
 }
 
 bool ecdsa_write_pem_public_key(ecdsa_t *ecdsa, FILE *fp) {
-       return write_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof ecdsa->public);
+       return write_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof(ecdsa->public));
 }
 
 bool ecdsa_write_pem_private_key(ecdsa_t *ecdsa, FILE *fp) {
 }
 
 bool ecdsa_write_pem_private_key(ecdsa_t *ecdsa, FILE *fp) {
-       return write_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof *ecdsa);
+       return write_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof(*ecdsa));
 }
 }
index 858e1d9..d981f75 100644 (file)
@@ -258,8 +258,8 @@ bool event_loop(void) {
        while(running) {
                struct timeval diff;
                struct timeval *tv = get_time_remaining(&diff);
        while(running) {
                struct timeval diff;
                struct timeval *tv = get_time_remaining(&diff);
-               memcpy(&readable, &readfds, sizeof readable);
-               memcpy(&writable, &writefds, sizeof writable);
+               memcpy(&readable, &readfds, sizeof(readable));
+               memcpy(&writable, &writefds, sizeof(writable));
 
                int fds = 0;
 
 
                int fds = 0;
 
index e5e7dd5..42f40f4 100644 (file)
@@ -39,7 +39,7 @@ static bool ask_fix(void) {
 again:
        fprintf(stderr, "Fix y/n? ");
        char buf[1024];
 again:
        fprintf(stderr, "Fix y/n? ");
        char buf[1024];
-       if(!fgets(buf, sizeof buf, stdin)) {
+       if(!fgets(buf, sizeof(buf), stdin)) {
                tty = false;
                return false;
        }
                tty = false;
                return false;
        }
@@ -84,9 +84,9 @@ static void check_conffile(const char *fname, bool server) {
        bool skip = false;
        const int maxvariables = 50;
        int count[maxvariables];
        bool skip = false;
        const int maxvariables = 50;
        int count[maxvariables];
-       memset(count, 0, sizeof count);
+       memset(count, 0, sizeof(count));
 
 
-       while(fgets(line, sizeof line, f)) {
+       while(fgets(line, sizeof(line), f)) {
                if(skip) {
                        if(!strncmp(line, "-----END", 8))
                                skip = false;
                if(skip) {
                        if(!strncmp(line, "-----END", 8))
                                skip = false;
@@ -192,7 +192,7 @@ int fsck(const char *argv0) {
 
 #ifndef DISABLE_LEGACY
        rsa_t *rsa_priv = NULL;
 
 #ifndef DISABLE_LEGACY
        rsa_t *rsa_priv = NULL;
-       snprintf(fname, sizeof fname, "%s/rsa_key.priv", confbase);
+       snprintf(fname, sizeof(fname), "%s/rsa_key.priv", confbase);
 
        if(stat(fname, &st)) {
                if(errno != ENOENT) {
 
        if(stat(fname, &st)) {
                if(errno != ENOENT) {
@@ -233,7 +233,7 @@ int fsck(const char *argv0) {
 #endif
 
        ecdsa_t *ecdsa_priv = NULL;
 #endif
 
        ecdsa_t *ecdsa_priv = NULL;
-       snprintf(fname, sizeof fname, "%s/ed25519_key.priv", confbase);
+       snprintf(fname, sizeof(fname), "%s/ed25519_key.priv", confbase);
 
        if(stat(fname, &st)) {
                if(errno != ENOENT) {
 
        if(stat(fname, &st)) {
                if(errno != ENOENT) {
@@ -287,7 +287,7 @@ int fsck(const char *argv0) {
        // Check for public keys.
        // TODO: use RSAPublicKeyFile variable if present.
 
        // Check for public keys.
        // TODO: use RSAPublicKeyFile variable if present.
 
-       snprintf(fname, sizeof fname, "%s/hosts/%s", confbase, name);
+       snprintf(fname, sizeof(fname), "%s/hosts/%s", confbase, name);
        if(access(fname, R_OK))
                fprintf(stderr, "WARNING: cannot read %s\n", fname);
 
        if(access(fname, R_OK))
                fprintf(stderr, "WARNING: cannot read %s\n", fname);
 
@@ -325,19 +325,19 @@ int fsck(const char *argv0) {
                                return 1;
                        }
                        char buf1[len], buf2[len], buf3[len];
                                return 1;
                        }
                        char buf1[len], buf2[len], buf3[len];
-                       randomize(buf1, sizeof buf1);
+                       randomize(buf1, sizeof(buf1));
                        buf1[0] &= 0x7f;
                        buf1[0] &= 0x7f;
-                       memset(buf2, 0, sizeof buf2);
-                       memset(buf3, 0, sizeof buf2);
-                       if(!rsa_public_encrypt(rsa_pub, buf1, sizeof buf1, buf2)) {
+                       memset(buf2, 0, sizeof(buf2));
+                       memset(buf3, 0, sizeof(buf2));
+                       if(!rsa_public_encrypt(rsa_pub, buf1, sizeof(buf1), buf2)) {
                                fprintf(stderr, "ERROR: public RSA key does not work.\n");
                                return 1;
                        }
                                fprintf(stderr, "ERROR: public RSA key does not work.\n");
                                return 1;
                        }
-                       if(!rsa_private_decrypt(rsa_priv, buf2, sizeof buf2, buf3)) {
+                       if(!rsa_private_decrypt(rsa_priv, buf2, sizeof(buf2), buf3)) {
                                fprintf(stderr, "ERROR: private RSA key does not work.\n");
                                return 1;
                        }
                                fprintf(stderr, "ERROR: private RSA key does not work.\n");
                                return 1;
                        }
-                       if(memcmp(buf1, buf3, sizeof buf1)) {
+                       if(memcmp(buf1, buf3, sizeof(buf1))) {
                                fprintf(stderr, "ERROR: public and private RSA keys do not match.\n");
                                return 1;
                        }
                                fprintf(stderr, "ERROR: public and private RSA keys do not match.\n");
                                return 1;
                        }
@@ -414,7 +414,7 @@ int fsck(const char *argv0) {
                if(strtailcmp(ent->d_name, "-up") && strtailcmp(ent->d_name, "-down"))
                        continue;
 
                if(strtailcmp(ent->d_name, "-up") && strtailcmp(ent->d_name, "-down"))
                        continue;
 
-               strncpy(fname, ent->d_name, sizeof fname);
+               strncpy(fname, ent->d_name, sizeof(fname));
                char *dash = strrchr(fname, '-');
                if(!dash)
                        continue;
                char *dash = strrchr(fname, '-');
                if(!dash)
                        continue;
@@ -431,7 +431,7 @@ int fsck(const char *argv0) {
                        continue;
                }
 
                        continue;
                }
 
-               snprintf(fname, sizeof fname, "%s" SLASH "%s", confbase, ent->d_name);
+               snprintf(fname, sizeof(fname), "%s" SLASH "%s", confbase, ent->d_name);
                if(access(fname, R_OK | X_OK)) {
                        if(errno != EACCES) {
                                fprintf(stderr, "ERROR: cannot access %s: %s\n", fname, strerror(errno));
                if(access(fname, R_OK | X_OK)) {
                        if(errno != EACCES) {
                                fprintf(stderr, "ERROR: cannot access %s: %s\n", fname, strerror(errno));
@@ -446,7 +446,7 @@ int fsck(const char *argv0) {
        }
        closedir(dir);
 
        }
        closedir(dir);
 
-       snprintf(dname, sizeof dname, "%s" SLASH "hosts", confbase);
+       snprintf(dname, sizeof(dname), "%s" SLASH "hosts", confbase);
        dir = opendir(dname);
        if(!dir) {
                fprintf(stderr, "ERROR: cannot read directory %s: %s\n", dname, strerror(errno));
        dir = opendir(dname);
        if(!dir) {
                fprintf(stderr, "ERROR: cannot read directory %s: %s\n", dname, strerror(errno));
@@ -457,13 +457,13 @@ int fsck(const char *argv0) {
                if(strtailcmp(ent->d_name, "-up") && strtailcmp(ent->d_name, "-down"))
                        continue;
 
                if(strtailcmp(ent->d_name, "-up") && strtailcmp(ent->d_name, "-down"))
                        continue;
 
-               strncpy(fname, ent->d_name, sizeof fname);
+               strncpy(fname, ent->d_name, sizeof(fname));
                char *dash = strrchr(fname, '-');
                if(!dash)
                        continue;
                *dash = 0;
 
                char *dash = strrchr(fname, '-');
                if(!dash)
                        continue;
                *dash = 0;
 
-               snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, ent->d_name);
+               snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, ent->d_name);
                if(access(fname, R_OK | X_OK)) {
                        if(errno != EACCES) {
                                fprintf(stderr, "ERROR: cannot access %s: %s\n", fname, strerror(errno));
                if(access(fname, R_OK | X_OK)) {
                        if(errno != EACCES) {
                                fprintf(stderr, "ERROR: cannot access %s: %s\n", fname, strerror(errno));
@@ -488,7 +488,7 @@ int fsck(const char *argv0) {
                        if(!check_id(ent->d_name))
                                continue;
 
                        if(!check_id(ent->d_name))
                                continue;
 
-                       snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, ent->d_name);
+                       snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, ent->d_name);
                        check_conffile(fname, false);
                }
                closedir(dir);
                        check_conffile(fname, false);
                }
                closedir(dir);
index e9b32cf..b9b3224 100644 (file)
@@ -55,7 +55,7 @@ static struct {
 static bool nametocipher(const char *name, int *algo, int *mode) {
        size_t i;
 
 static bool nametocipher(const char *name, int *algo, int *mode) {
        size_t i;
 
-       for(i = 0; i < sizeof ciphertable / sizeof *ciphertable; i++) {
+       for(i = 0; i < sizeof(ciphertable) / sizeof *ciphertable; i++) {
                if(ciphertable[i].name && !strcasecmp(name, ciphertable[i].name)) {
                        *algo = ciphertable[i].algo;
                        *mode = ciphertable[i].mode;
                if(ciphertable[i].name && !strcasecmp(name, ciphertable[i].name)) {
                        *algo = ciphertable[i].algo;
                        *mode = ciphertable[i].mode;
@@ -69,7 +69,7 @@ static bool nametocipher(const char *name, int *algo, int *mode) {
 static bool nidtocipher(int nid, int *algo, int *mode) {
        size_t i;
 
 static bool nidtocipher(int nid, int *algo, int *mode) {
        size_t i;
 
-       for(i = 0; i < sizeof ciphertable / sizeof *ciphertable; i++) {
+       for(i = 0; i < sizeof(ciphertable) / sizeof *ciphertable; i++) {
                if(nid == ciphertable[i].nid) {
                        *algo = ciphertable[i].algo;
                        *mode = ciphertable[i].mode;
                if(nid == ciphertable[i].nid) {
                        *algo = ciphertable[i].algo;
                        *mode = ciphertable[i].mode;
@@ -83,7 +83,7 @@ static bool nidtocipher(int nid, int *algo, int *mode) {
 static bool ciphertonid(int algo, int mode, int *nid) {
        size_t i;
 
 static bool ciphertonid(int algo, int mode, int *nid) {
        size_t i;
 
-       for(i = 0; i < sizeof ciphertable / sizeof *ciphertable; i++) {
+       for(i = 0; i < sizeof(ciphertable) / sizeof *ciphertable; i++) {
                if(algo == ciphertable[i].algo && mode == ciphertable[i].mode) {
                        *nid = ciphertable[i].nid;
                        return true;
                if(algo == ciphertable[i].algo && mode == ciphertable[i].mode) {
                        *nid = ciphertable[i].nid;
                        return true;
index 4229b0c..60b9569 100644 (file)
@@ -37,7 +37,7 @@ static struct {
 static bool nametodigest(const char *name, int *algo) {
        int i;
 
 static bool nametodigest(const char *name, int *algo) {
        int i;
 
-       for(i = 0; i < sizeof digesttable / sizeof *digesttable; i++) {
+       for(i = 0; i < sizeof(digesttable) / sizeof *digesttable; i++) {
                if(digesttable[i].name && !strcasecmp(name, digesttable[i].name)) {
                        *algo = digesttable[i].algo;
                        return true;
                if(digesttable[i].name && !strcasecmp(name, digesttable[i].name)) {
                        *algo = digesttable[i].algo;
                        return true;
@@ -50,7 +50,7 @@ static bool nametodigest(const char *name, int *algo) {
 static bool nidtodigest(int nid, int *algo) {
        int i;
 
 static bool nidtodigest(int nid, int *algo) {
        int i;
 
-       for(i = 0; i < sizeof digesttable / sizeof *digesttable; i++) {
+       for(i = 0; i < sizeof(digesttable) / sizeof *digesttable; i++) {
                if(nid == digesttable[i].nid) {
                        *algo = digesttable[i].algo;
                        return true;
                if(nid == digesttable[i].nid) {
                        *algo = digesttable[i].algo;
                        return true;
@@ -63,7 +63,7 @@ static bool nidtodigest(int nid, int *algo) {
 static bool digesttonid(int algo, int *nid) {
        int i;
 
 static bool digesttonid(int algo, int *nid) {
        int i;
 
-       for(i = 0; i < sizeof digesttable / sizeof *digesttable; i++) {
+       for(i = 0; i < sizeof(digesttable) / sizeof *digesttable; i++) {
                if(algo == digesttable[i].algo) {
                        *nid = digesttable[i].nid;
                        return true;
                if(algo == digesttable[i].algo) {
                        *nid = digesttable[i].nid;
                        return true;
index 55c9923..1937f67 100644 (file)
@@ -60,7 +60,7 @@ static bool hmac_sha512(const char *key, size_t keylen, const char *msg, size_t
 
        // opad
        memxor(tmp, 0x36 ^ 0x5c, blklen);
 
        // opad
        memxor(tmp, 0x36 ^ 0x5c, blklen);
-       if(sha512(tmp, sizeof tmp, out) != 0)
+       if(sha512(tmp, sizeof(tmp), out) != 0)
                return false;
 
        return true;
                return false;
 
        return true;
@@ -84,17 +84,17 @@ bool prf(const char *secret, size_t secretlen, char *seed, size_t seedlen, char
 
        while(outlen > 0) {
                /* Inner HMAC */
 
        while(outlen > 0) {
                /* Inner HMAC */
-               if(!hmac_sha512(secret, secretlen, data, sizeof data, data))
+               if(!hmac_sha512(secret, secretlen, data, sizeof(data), data))
                        return false;
 
                /* Outer HMAC */
                if(outlen >= mdlen) {
                        return false;
 
                /* Outer HMAC */
                if(outlen >= mdlen) {
-                       if(!hmac_sha512(secret, secretlen, data, sizeof data, out))
+                       if(!hmac_sha512(secret, secretlen, data, sizeof(data), out))
                                return false;
                        out += mdlen;
                        outlen -= mdlen;
                } else {
                                return false;
                        out += mdlen;
                        outlen -= mdlen;
                } else {
-                       if(!hmac_sha512(secret, secretlen, data, sizeof data, hash))
+                       if(!hmac_sha512(secret, secretlen, data, sizeof(data), hash))
                                return false;
                        memcpy(out, hash, outlen);
                        out += outlen;
                                return false;
                        memcpy(out, hash, outlen);
                        out += outlen;
index 751f7b6..d354b0c 100644 (file)
@@ -61,7 +61,7 @@ static bool pem_decode(FILE *fp, const char *header, uint8_t *buf, size_t size,
        size_t i, j = 0;
 
        while(!feof(fp)) {
        size_t i, j = 0;
 
        while(!feof(fp)) {
-               if(!fgets(line, sizeof line, fp))
+               if(!fgets(line, sizeof(line), fp))
                        return false;
 
                if(!decode && !strncmp(line, "-----BEGIN ", 11)) {
                        return false;
 
                if(!decode && !strncmp(line, "-----BEGIN ", 11)) {
@@ -215,7 +215,7 @@ bool rsa_read_pem_public_key(rsa_t *rsa, FILE *fp) {
        uint8_t derbuf[8096], *derp = derbuf;
        size_t derlen;
 
        uint8_t derbuf[8096], *derp = derbuf;
        size_t derlen;
 
-       if(!pem_decode(fp, "RSA PUBLIC KEY", derbuf, sizeof derbuf, &derlen)) {
+       if(!pem_decode(fp, "RSA PUBLIC KEY", derbuf, sizeof(derbuf), &derlen)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Unable to read RSA public key: %s", strerror(errno));
                return NULL;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "Unable to read RSA public key: %s", strerror(errno));
                return NULL;
        }
@@ -235,7 +235,7 @@ bool rsa_read_pem_private_key(rsa_t *rsa, FILE *fp) {
        uint8_t derbuf[8096], *derp = derbuf;
        size_t derlen;
 
        uint8_t derbuf[8096], *derp = derbuf;
        size_t derlen;
 
-       if(!pem_decode(fp, "RSA PRIVATE KEY", derbuf, sizeof derbuf, &derlen)) {
+       if(!pem_decode(fp, "RSA PRIVATE KEY", derbuf, sizeof(derbuf), &derlen)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Unable to read RSA private key: %s", strerror(errno));
                return NULL;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "Unable to read RSA private key: %s", strerror(errno));
                return NULL;
        }
index 36fb104..dfbfa33 100644 (file)
@@ -134,7 +134,7 @@ static bool ber_write_sequence(uint8_t **p, size_t *buflen, uint8_t *seqbuf, siz
 
 static bool ber_write_mpi(uint8_t **p, size_t *buflen, gcry_mpi_t mpi) {
        uint8_t tmpbuf[1024];
 
 static bool ber_write_mpi(uint8_t **p, size_t *buflen, gcry_mpi_t mpi) {
        uint8_t tmpbuf[1024];
-       size_t tmplen = sizeof tmpbuf;
+       size_t tmplen = sizeof(tmpbuf);
        gcry_error_t err;
 
        err = gcry_mpi_aprint(GCRYMPI_FMT_USG, &tmpbuf, &tmplen, mpi);
        gcry_error_t err;
 
        err = gcry_mpi_aprint(GCRYMPI_FMT_USG, &tmpbuf, &tmplen, mpi);
@@ -158,8 +158,8 @@ bool rsa_write_pem_public_key(rsa_t *rsa, FILE *fp) {
        uint8_t derbuf2[8096];
        uint8_t *derp1 = derbuf1;
        uint8_t *derp2 = derbuf2;
        uint8_t derbuf2[8096];
        uint8_t *derp1 = derbuf1;
        uint8_t *derp2 = derbuf2;
-       size_t derlen1 = sizeof derbuf1;
-       size_t derlen2 = sizeof derbuf2;
+       size_t derlen1 = sizeof(derbuf1);
+       size_t derlen2 = sizeof(derbuf2);
 
        if(!ber_write_mpi(&derp1, &derlen1, &rsa->n)
                        || !ber_write_mpi(&derp1, &derlen1, &rsa->e)
 
        if(!ber_write_mpi(&derp1, &derlen1, &rsa->n)
                        || !ber_write_mpi(&derp1, &derlen1, &rsa->e)
@@ -181,8 +181,8 @@ bool rsa_write_pem_private_key(rsa_t *rsa, FILE *fp) {
        uint8_t derbuf2[8096];
        uint8_t *derp1 = derbuf1;
        uint8_t *derp2 = derbuf2;
        uint8_t derbuf2[8096];
        uint8_t *derp1 = derbuf1;
        uint8_t *derp2 = derbuf2;
-       size_t derlen1 = sizeof derbuf1;
-       size_t derlen2 = sizeof derbuf2;
+       size_t derlen1 = sizeof(derbuf1);
+       size_t derlen2 = sizeof(derbuf2);
 
        if(!ber_write_mpi(&derp1, &derlen1, &bits)
                        || ber_write_mpi(&derp1, &derlen1, &rsa->n) // modulus
 
        if(!ber_write_mpi(&derp1, &derlen1, &bits)
                        || ber_write_mpi(&derp1, &derlen1, &rsa->n) // modulus
index 1f1fdb3..e6cd011 100644 (file)
@@ -269,7 +269,7 @@ static void check_reachability(void) {
 
                        if(!n->status.reachable) {
                                update_node_udp(n, NULL);
 
                        if(!n->status.reachable) {
                                update_node_udp(n, NULL);
-                               memset(&n->status, 0, sizeof n->status);
+                               memset(&n->status, 0, sizeof(n->status));
                                n->options = 0;
                        } else if(n->connection) {
                                // Speed up UDP probing by sending our key.
                                n->options = 0;
                        } else if(n->connection) {
                                // Speed up UDP probing by sending our key.
index 50934d9..f27b257 100644 (file)
@@ -52,11 +52,11 @@ static uint32_t modulo(uint32_t hash, size_t n) {
 /* (De)allocation */
 
 hash_t *hash_alloc(size_t n, size_t size) {
 /* (De)allocation */
 
 hash_t *hash_alloc(size_t n, size_t size) {
-       hash_t *hash = xzalloc(sizeof *hash);
+       hash_t *hash = xzalloc(sizeof(*hash));
        hash->n = n;
        hash->size = size;
        hash->keys = xzalloc(hash->n * hash->size);
        hash->n = n;
        hash->size = size;
        hash->keys = xzalloc(hash->n * hash->size);
-       hash->values = xzalloc(hash->n * sizeof *hash->values);
+       hash->values = xzalloc(hash->n * sizeof(*hash->values));
        return hash;
 }
 
        return hash;
 }
 
@@ -101,14 +101,14 @@ void hash_delete(hash_t *hash, const void *key) {
 /* Utility functions */
 
 void hash_clear(hash_t *hash) {
 /* Utility functions */
 
 void hash_clear(hash_t *hash) {
-       memset(hash->values, 0, hash->n * sizeof *hash->values);
+       memset(hash->values, 0, hash->n * sizeof(*hash->values));
 }
 
 void hash_resize(hash_t *hash, size_t n) {
        hash->keys = xrealloc(hash->keys, n * hash->size);
 }
 
 void hash_resize(hash_t *hash, size_t n) {
        hash->keys = xrealloc(hash->keys, n * hash->size);
-       hash->values = xrealloc(hash->values, n * sizeof *hash->values);
+       hash->values = xrealloc(hash->values, n * sizeof(*hash->values));
        if(n > hash->n) {
                memset(hash->keys + hash->n * hash->size, 0, (n - hash->n) * hash->size);
        if(n > hash->n) {
                memset(hash->keys + hash->n * hash->size, 0, (n - hash->n) * hash->size);
-               memset(hash->values + hash->n, 0, (n - hash->n) * sizeof *hash->values);
+               memset(hash->values + hash->n, 0, (n - hash->n) * sizeof(*hash->values));
        }
 }
        }
 }
index 0b99402..c03fef4 100644 (file)
@@ -88,7 +88,7 @@ static subnet_t ipv4, ipv6;
 void ifconfig_address(FILE *out, const char *value) {
        subnet_t address = {};
        char address_str[MAXNETSTR];
 void ifconfig_address(FILE *out, const char *value) {
        subnet_t address = {};
        char address_str[MAXNETSTR];
-       if(!str2net(&address, value) || !net2str(address_str, sizeof address_str, &address)) {
+       if(!str2net(&address, value) || !net2str(address_str, sizeof(address_str), &address)) {
                fprintf(stderr, "Could not parse address in Ifconfig statement\n");
                return;
        }
                fprintf(stderr, "Could not parse address in Ifconfig statement\n");
                return;
        }
@@ -127,12 +127,12 @@ void ifconfig_route(FILE *out, const char *value) {
        char *sep = strchr(value, ' ');
        if(sep)
                *sep++ = 0;
        char *sep = strchr(value, ' ');
        if(sep)
                *sep++ = 0;
-       if(!str2net(&subnet, value) || !net2str(subnet_str, sizeof subnet_str, &subnet) || subnet.type == SUBNET_MAC) {
+       if(!str2net(&subnet, value) || !net2str(subnet_str, sizeof(subnet_str), &subnet) || subnet.type == SUBNET_MAC) {
                fprintf(stderr, "Could not parse subnet in Route statement\n");
                return;
        }
        if(sep) {
                fprintf(stderr, "Could not parse subnet in Route statement\n");
                return;
        }
        if(sep) {
-               if(!str2net(&gateway, sep) || !net2str(gateway_str, sizeof gateway_str, &gateway) || gateway.type != subnet.type) {
+               if(!str2net(&gateway, sep) || !net2str(gateway_str, sizeof(gateway_str), &gateway) || gateway.type != subnet.type) {
                        fprintf(stderr, "Could not parse gateway in Route statement\n");
                        return;
                }
                        fprintf(stderr, "Could not parse gateway in Route statement\n");
                        return;
                }
@@ -174,14 +174,14 @@ void ifconfig_route(FILE *out, const char *value) {
                                        fprintf(stderr, "Route requested but no Ifconfig\n");
                                        return;
                                }
                                        fprintf(stderr, "Route requested but no Ifconfig\n");
                                        return;
                                }
-                               net2str(gateway_str, sizeof gateway_str, &ipv4);
+                               net2str(gateway_str, sizeof(gateway_str), &ipv4);
                                break;
                        case SUBNET_IPV6:
                                if(!ipv6.type) {
                                        fprintf(stderr, "Route requested but no Ifconfig\n");
                                        return;
                                }
                                break;
                        case SUBNET_IPV6:
                                if(!ipv6.type) {
                                        fprintf(stderr, "Route requested but no Ifconfig\n");
                                        return;
                                }
-                               net2str(gateway_str, sizeof gateway_str, &ipv6);
+                               net2str(gateway_str, sizeof(gateway_str), &ipv6);
                                break;
                        default: return;
                }
                                break;
                        default: return;
                }
index 2a6934b..b552574 100644 (file)
@@ -68,7 +68,7 @@ static int info_node(int fd, const char *item) {
        node_status_t status;
        long int last_state_change;
 
        node_status_t status;
        long int last_state_change;
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int n = sscanf(line, "%d %d %4095s %4095s %4095s port %4095s %d %d %d %d %x %"PRIx32" %4095s %4095s %d %hd %hd %hd %ld", &code, &req, node, id, host, port, &cipher, &digest, &maclength, &compression, &options, &status_union.raw, nexthop, via, &distance, &pmtu, &minmtu, &maxmtu, &last_state_change);
 
                if(n == 2)
                int n = sscanf(line, "%d %d %4095s %4095s %4095s port %4095s %d %d %d %d %x %"PRIx32" %4095s %4095s %d %hd %hd %hd %ld", &code, &req, node, id, host, port, &cipher, &digest, &maclength, &compression, &options, &status_union.raw, nexthop, via, &distance, &pmtu, &minmtu, &maxmtu, &last_state_change);
 
                if(n == 2)
@@ -90,7 +90,7 @@ static int info_node(int fd, const char *item) {
                return 1;
        }
 
                return 1;
        }
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                if(sscanf(line, "%d %d %4095s", &code, &req, node) == 2)
                        break;
        }
                if(sscanf(line, "%d %d %4095s", &code, &req, node) == 2)
                        break;
        }
@@ -103,7 +103,7 @@ static int info_node(int fd, const char *item) {
        time_t lsc_time = last_state_change;
 
        if(last_state_change)
        time_t lsc_time = last_state_change;
 
        if(last_state_change)
-               strftime(timestr, sizeof timestr, "%Y-%m-%d %H:%M:%S", localtime(&lsc_time));
+               strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S", localtime(&lsc_time));
 
        status = status_union.bits;
 
 
        status = status_union.bits;
 
@@ -157,7 +157,7 @@ static int info_node(int fd, const char *item) {
        // List edges
        printf("Edges:       ");
        sendline(fd, "%d %d %s", CONTROL, REQ_DUMP_EDGES, item);
        // List edges
        printf("Edges:       ");
        sendline(fd, "%d %d %s", CONTROL, REQ_DUMP_EDGES, item);
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, from, to);
                if(n == 2)
                        break;
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, from, to);
                if(n == 2)
                        break;
@@ -173,7 +173,7 @@ static int info_node(int fd, const char *item) {
        // List subnets
        printf("Subnets:     ");
        sendline(fd, "%d %d %s", CONTROL, REQ_DUMP_SUBNETS, item);
        // List subnets
        printf("Subnets:     ");
        sendline(fd, "%d %d %s", CONTROL, REQ_DUMP_SUBNETS, item);
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, subnet, from);
                if(n == 2)
                        break;
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, subnet, from);
                if(n == 2)
                        break;
@@ -208,7 +208,7 @@ static int info_subnet(int fd, const char *item) {
        int code, req;
 
        sendline(fd, "%d %d %s", CONTROL, REQ_DUMP_SUBNETS, item);
        int code, req;
 
        sendline(fd, "%d %d %s", CONTROL, REQ_DUMP_SUBNETS, item);
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, netstr, owner);
                if(n == 2)
                        break;
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, netstr, owner);
                if(n == 2)
                        break;
@@ -233,7 +233,7 @@ static int info_subnet(int fd, const char *item) {
                        } else {
                                if(find.net.ipv4.prefixlength != subnet.net.ipv4.prefixlength)
                                        continue;
                        } else {
                                if(find.net.ipv4.prefixlength != subnet.net.ipv4.prefixlength)
                                        continue;
-                               if(memcmp(&find.net.ipv4.address, &subnet.net.ipv4.address, sizeof subnet.net.ipv4))
+                               if(memcmp(&find.net.ipv4.address, &subnet.net.ipv4.address, sizeof(subnet.net.ipv4)))
                                        continue;
                        }
                } else if(find.type == SUBNET_IPV6) {
                                        continue;
                        }
                } else if(find.type == SUBNET_IPV6) {
@@ -243,11 +243,11 @@ static int info_subnet(int fd, const char *item) {
                        } else {
                                if(find.net.ipv6.prefixlength != subnet.net.ipv6.prefixlength)
                                        continue;
                        } else {
                                if(find.net.ipv6.prefixlength != subnet.net.ipv6.prefixlength)
                                        continue;
-                               if(memcmp(&find.net.ipv6.address, &subnet.net.ipv6.address, sizeof subnet.net.ipv6))
+                               if(memcmp(&find.net.ipv6.address, &subnet.net.ipv6.address, sizeof(subnet.net.ipv6)))
                                        continue;
                        }
                } if(find.type == SUBNET_MAC) {
                                        continue;
                        }
                } if(find.type == SUBNET_MAC) {
-                       if(memcmp(&find.net.mac.address, &subnet.net.mac.address, sizeof subnet.net.mac))
+                       if(memcmp(&find.net.mac.address, &subnet.net.mac.address, sizeof(subnet.net.mac)))
                                continue;
                }
 
                                continue;
                }
 
index 0dfd9ea..2990c47 100644 (file)
@@ -47,7 +47,7 @@ static void scan_for_hostname(const char *filename, char **hostname, char **port
        if(!f)
                return;
 
        if(!f)
                return;
 
-       while(fgets(line, sizeof line, f)) {
+       while(fgets(line, sizeof(line), f)) {
                if(!rstrip(line))
                        continue;
                char *p = line, *q;
                if(!rstrip(line))
                        continue;
                char *p = line, *q;
@@ -90,7 +90,7 @@ char *get_my_hostname() {
 
        // Use first Address statement in own host config file
        if(check_id(name)) {
 
        // Use first Address statement in own host config file
        if(check_id(name)) {
-               snprintf(filename, sizeof filename, "%s" SLASH "hosts" SLASH "%s", confbase, name);
+               snprintf(filename, sizeof(filename), "%s" SLASH "hosts" SLASH "%s", confbase, name);
                scan_for_hostname(filename, &hostname, &port);
                scan_for_hostname(tinc_conf, &hostname, &port);
        }
                scan_for_hostname(filename, &hostname, &port);
                scan_for_hostname(tinc_conf, &hostname, &port);
        }
@@ -113,8 +113,8 @@ char *get_my_hostname() {
                        }
                }
                if(s >= 0) {
                        }
                }
                if(s >= 0) {
-                       send(s, request, sizeof request - 1, 0);
-                       int len = recv(s, line, sizeof line - 1, MSG_WAITALL);
+                       send(s, request, sizeof(request) - 1, 0);
+                       int len = recv(s, line, sizeof(line) - 1, MSG_WAITALL);
                        if(len > 0) {
                                line[len] = 0;
                                if(line[len - 1] == '\n')
                        if(len > 0) {
                                line[len] = 0;
                                if(line[len - 1] == '\n')
@@ -160,7 +160,7 @@ again:
                fprintf(stderr, " [%s]", hostname);
        fprintf(stderr, ": ");
 
                fprintf(stderr, " [%s]", hostname);
        fprintf(stderr, ": ");
 
-       if(!fgets(line, sizeof line, stdin)) {
+       if(!fgets(line, sizeof(line), stdin)) {
                fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                free(hostname);
                return NULL;
                fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                free(hostname);
                return NULL;
@@ -221,7 +221,7 @@ static bool fcopy(FILE *out, const char *filename) {
 
        char buf[1024];
        size_t len;
 
        char buf[1024];
        size_t len;
-       while((len = fread(buf, 1, sizeof buf, in)))
+       while((len = fread(buf, 1, sizeof(buf), in)))
                fwrite(buf, len, 1, out);
        fclose(in);
        return true;
                fwrite(buf, len, 1, out);
        fclose(in);
        return true;
@@ -245,7 +245,7 @@ int cmd_invite(int argc, char *argv[]) {
 
        // Ensure no host configuration file with that name exists
        char filename[PATH_MAX];
 
        // Ensure no host configuration file with that name exists
        char filename[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "hosts" SLASH "%s", confbase, argv[1]);
+       snprintf(filename, sizeof(filename), "%s" SLASH "hosts" SLASH "%s", confbase, argv[1]);
        if(!access(filename, F_OK)) {
                fprintf(stderr, "A host config file for %s already exists!\n", argv[1]);
                return 1;
        if(!access(filename, F_OK)) {
                fprintf(stderr, "A host config file for %s already exists!\n", argv[1]);
                return 1;
@@ -256,7 +256,7 @@ int cmd_invite(int argc, char *argv[]) {
                bool found = false;
                sendline(fd, "%d %d", CONTROL, REQ_DUMP_NODES);
 
                bool found = false;
                sendline(fd, "%d %d", CONTROL, REQ_DUMP_NODES);
 
-               while(recvline(fd, line, sizeof line)) {
+               while(recvline(fd, line, sizeof(line))) {
                        char node[4096];
                        int code, req;
                        if(sscanf(line, "%d %d %4095s", &code, &req, node) != 3)
                        char node[4096];
                        int code, req;
                        if(sscanf(line, "%d %d %4095s", &code, &req, node) != 3)
@@ -271,7 +271,7 @@ int cmd_invite(int argc, char *argv[]) {
                }
        }
 
                }
        }
 
-       snprintf(filename, sizeof filename, "%s" SLASH "invitations", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "invitations", confbase);
        if(mkdir(filename, 0700) && errno != EEXIST) {
                fprintf(stderr, "Could not create directory %s: %s\n", filename, strerror(errno));
                return 1;
        if(mkdir(filename, 0700) && errno != EEXIST) {
                fprintf(stderr, "Could not create directory %s: %s\n", filename, strerror(errno));
                return 1;
@@ -294,7 +294,7 @@ int cmd_invite(int argc, char *argv[]) {
                        continue;
                char invname[PATH_MAX];
                struct stat st;
                        continue;
                char invname[PATH_MAX];
                struct stat st;
-               snprintf(invname, sizeof invname, "%s" SLASH "%s", filename, ent->d_name);
+               snprintf(invname, sizeof(invname), "%s" SLASH "%s", filename, ent->d_name);
                if(!stat(invname, &st)) {
                        if(deadline < st.st_mtime)
                                count++;
                if(!stat(invname, &st)) {
                        if(deadline < st.st_mtime)
                                count++;
@@ -314,7 +314,7 @@ int cmd_invite(int argc, char *argv[]) {
        }
                
        ecdsa_t *key;
        }
                
        ecdsa_t *key;
-       snprintf(filename, sizeof filename, "%s" SLASH "invitations" SLASH "ed25519_key.priv", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "invitations" SLASH "ed25519_key.priv", confbase);
 
        // Remove the key if there are no outstanding invitations.
        if(!count)
 
        // Remove the key if there are no outstanding invitations.
        if(!count)
@@ -370,14 +370,14 @@ int cmd_invite(int argc, char *argv[]) {
        char buf[18 + strlen(fingerprint)];
        char cookiehash[64];
        memcpy(buf, cookie, 18);
        char buf[18 + strlen(fingerprint)];
        char cookiehash[64];
        memcpy(buf, cookie, 18);
-       memcpy(buf + 18, fingerprint, sizeof buf - 18);
-       sha512(buf, sizeof buf, cookiehash);
+       memcpy(buf + 18, fingerprint, sizeof(buf) - 18);
+       sha512(buf, sizeof(buf), cookiehash);
        b64encode_urlsafe(cookiehash, cookiehash, 18);
 
        b64encode_urlsafe(cookie, cookie, 18);
 
        // Create a file containing the details of the invitation.
        b64encode_urlsafe(cookiehash, cookiehash, 18);
 
        b64encode_urlsafe(cookie, cookie, 18);
 
        // Create a file containing the details of the invitation.
-       snprintf(filename, sizeof filename, "%s" SLASH "invitations" SLASH "%s", confbase, cookiehash);
+       snprintf(filename, sizeof(filename), "%s" SLASH "invitations" SLASH "%s", confbase, cookiehash);
        int ifd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600);
        if(!ifd) {
                fprintf(stderr, "Could not create invitation file %s: %s\n", filename, strerror(errno));
        int ifd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600);
        if(!ifd) {
                fprintf(stderr, "Could not create invitation file %s: %s\n", filename, strerror(errno));
@@ -400,7 +400,7 @@ int cmd_invite(int argc, char *argv[]) {
        FILE *tc = fopen(tinc_conf, "r");
        if(tc) {
                char buf[1024];
        FILE *tc = fopen(tinc_conf, "r");
        if(tc) {
                char buf[1024];
-               while(fgets(buf, sizeof buf, tc)) {
+               while(fgets(buf, sizeof(buf), tc)) {
                        if((!strncasecmp(buf, "Mode", 4) && strchr(" \t=", buf[4]))
                                        || (!strncasecmp(buf, "Broadcast", 9) && strchr(" \t=", buf[9]))) {
                                fputs(buf, f);
                        if((!strncasecmp(buf, "Mode", 4) && strchr(" \t=", buf[4]))
                                        || (!strncasecmp(buf, "Broadcast", 9) && strchr(" \t=", buf[9]))) {
                                fputs(buf, f);
@@ -416,7 +416,7 @@ int cmd_invite(int argc, char *argv[]) {
        fprintf(f, "Name = %s\n", myname);
 
        char filename2[PATH_MAX];
        fprintf(f, "Name = %s\n", myname);
 
        char filename2[PATH_MAX];
-       snprintf(filename2, sizeof filename2, "%s" SLASH "hosts" SLASH "%s", confbase, myname);
+       snprintf(filename2, sizeof(filename2), "%s" SLASH "hosts" SLASH "%s", confbase, myname);
        fcopy(f, filename2);
        fclose(f);
 
        fcopy(f, filename2);
        fclose(f);
 
@@ -461,7 +461,7 @@ static char *get_line(const char **data) {
        static char line[1024];
        const char *end = strchr(*data, '\n');
        size_t len = end ? end - *data : strlen(*data);
        static char line[1024];
        const char *end = strchr(*data, '\n');
        size_t len = end ? end - *data : strlen(*data);
-       if(len >= sizeof line) {
+       if(len >= sizeof(line)) {
                fprintf(stderr, "Maximum line length exceeded!\n");
                return NULL;
        }
                fprintf(stderr, "Maximum line length exceeded!\n");
                return NULL;
        }
@@ -521,7 +521,7 @@ static char *grep(const char *data, const char *var) {
        if(!e)
                return xstrdup(p);
 
        if(!e)
                return xstrdup(p);
 
-       if(e - p >= sizeof value) {
+       if(e - p >= sizeof(value)) {
                fprintf(stderr, "Maximum line length exceeded!\n");
                return NULL;
        }
                fprintf(stderr, "Maximum line length exceeded!\n");
                return NULL;
        }
@@ -575,7 +575,7 @@ make_names:
 
                // Generate a random netname, ask for a better one later.
                ask_netname = true;
 
                // Generate a random netname, ask for a better one later.
                ask_netname = true;
-               snprintf(temp_netname, sizeof temp_netname, "join_%x", rand());
+               snprintf(temp_netname, sizeof(temp_netname), "join_%x", rand());
                netname = temp_netname;
                goto make_names;
        }       
                netname = temp_netname;
                goto make_names;
        }       
@@ -599,7 +599,7 @@ make_names:
        fprintf(f, "Name = %s\n", name);
 
        char filename[PATH_MAX];
        fprintf(f, "Name = %s\n", name);
 
        char filename[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "%s", hosts_dir, name);
+       snprintf(filename, sizeof(filename), "%s" SLASH "%s", hosts_dir, name);
        FILE *fh = fopen(filename, "w");
        if(!fh) {
                fprintf(stderr, "Could not create file %s: %s\n", filename, strerror(errno));
        FILE *fh = fopen(filename, "w");
        if(!fh) {
                fprintf(stderr, "Could not create file %s: %s\n", filename, strerror(errno));
@@ -607,7 +607,7 @@ make_names:
                return false;
        }
 
                return false;
        }
 
-       snprintf(filename, sizeof filename, "%s" SLASH "invitation-data", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "invitation-data", confbase);
        FILE *finv = fopen(filename, "w");
        if(!finv || fwrite(data, datalen, 1, finv) != 1) {
                fprintf(stderr, "Could not create file %s: %s\n", filename, strerror(errno));
        FILE *finv = fopen(filename, "w");
        if(!finv || fwrite(data, datalen, 1, finv) != 1) {
                fprintf(stderr, "Could not create file %s: %s\n", filename, strerror(errno));
@@ -618,7 +618,7 @@ make_names:
        }
        fclose(finv);
 
        }
        fclose(finv);
 
-       snprintf(filename, sizeof filename, "%s" SLASH "tinc-up.invitation", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "tinc-up.invitation", confbase);
        FILE *fup = fopen(filename, "w");
        if(!fup) {
                fprintf(stderr, "Could not create file %s: %s\n", filename, strerror(errno));
        FILE *fup = fopen(filename, "w");
        if(!fup) {
                fprintf(stderr, "Could not create file %s: %s\n", filename, strerror(errno));
@@ -715,7 +715,7 @@ make_names:
                        return false;
                }
 
                        return false;
                }
 
-               snprintf(filename, sizeof filename, "%s" SLASH "%s", hosts_dir, value);
+               snprintf(filename, sizeof(filename), "%s" SLASH "%s", hosts_dir, value);
                f = fopen(filename, "w");
 
                if(!f) {
                f = fopen(filename, "w");
 
                if(!f) {
@@ -754,7 +754,7 @@ make_names:
        if(!b64key)
                return false;
 
        if(!b64key)
                return false;
 
-       snprintf(filename, sizeof filename, "%s" SLASH "ed25519_key.priv", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "ed25519_key.priv", confbase);
        f = fopenmask(filename, "w", 0600);
        if(!f)
                return false;
        f = fopenmask(filename, "w", 0600);
        if(!f)
                return false;
@@ -776,7 +776,7 @@ make_names:
 
 #ifndef DISABLE_LEGACY
        rsa_t *rsa = rsa_generate(2048, 0x1001);
 
 #ifndef DISABLE_LEGACY
        rsa_t *rsa = rsa_generate(2048, 0x1001);
-       snprintf(filename, sizeof filename, "%s" SLASH "rsa_key.priv", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "rsa_key.priv", confbase);
        f = fopenmask(filename, "w", 0600);
 
        if(!f || !rsa_write_pem_private_key(rsa, f)) {
        f = fopenmask(filename, "w", 0600);
 
        if(!f || !rsa_write_pem_private_key(rsa, f)) {
@@ -797,7 +797,7 @@ make_names:
 ask_netname:
        if(ask_netname && tty) {
                fprintf(stderr, "Enter a new netname: ");
 ask_netname:
        if(ask_netname && tty) {
                fprintf(stderr, "Enter a new netname: ");
-               if(!fgets(line, sizeof line, stdin)) {
+               if(!fgets(line, sizeof(line), stdin)) {
                        fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                        return false;
                }
                        fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                        return false;
                }
@@ -807,7 +807,7 @@ ask_netname:
                line[strlen(line) - 1] = 0;
 
                char newbase[PATH_MAX];
                line[strlen(line) - 1] = 0;
 
                char newbase[PATH_MAX];
-               snprintf(newbase, sizeof newbase, CONFDIR SLASH "tinc" SLASH "%s", line);
+               snprintf(newbase, sizeof(newbase), CONFDIR SLASH "tinc" SLASH "%s", line);
                if(rename(confbase, newbase)) {
                        fprintf(stderr, "Error trying to rename %s to %s: %s\n", confbase, newbase, strerror(errno));
                        goto ask_netname;
                if(rename(confbase, newbase)) {
                        fprintf(stderr, "Error trying to rename %s to %s: %s\n", confbase, newbase, strerror(errno));
                        goto ask_netname;
@@ -818,8 +818,8 @@ ask_netname:
        }
 
        char filename2[PATH_MAX];
        }
 
        char filename2[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "tinc-up.invitation", confbase);
-       snprintf(filename2, sizeof filename2, "%s" SLASH "tinc-up", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "tinc-up.invitation", confbase);
+       snprintf(filename2, sizeof(filename2), "%s" SLASH "tinc-up", confbase);
 
        if(valid_tinc_up) {
                if(tty) {
 
        if(valid_tinc_up) {
                if(tty) {
@@ -828,7 +828,7 @@ ask_netname:
                                fprintf(stderr, "\nPlease review the following tinc-up script:\n\n");
 
                                char buf[MAXSIZE];
                                fprintf(stderr, "\nPlease review the following tinc-up script:\n\n");
 
                                char buf[MAXSIZE];
-                               while(fgets(buf, sizeof buf, fup))
+                               while(fgets(buf, sizeof(buf), fup))
                                        fputs(buf, stderr);
                                fclose(fup);
 
                                        fputs(buf, stderr);
                                fclose(fup);
 
@@ -893,7 +893,7 @@ static bool invitation_send(void *handle, uint8_t type, const void *data, size_t
 static bool invitation_receive(void *handle, uint8_t type, const void *msg, uint16_t len) {
        switch(type) {
                case SPTPS_HANDSHAKE:
 static bool invitation_receive(void *handle, uint8_t type, const void *msg, uint16_t len) {
        switch(type) {
                case SPTPS_HANDSHAKE:
-                       return sptps_send_record(&sptps, 0, cookie, sizeof cookie);
+                       return sptps_send_record(&sptps, 0, cookie, sizeof(cookie));
 
                case 0:
                        data = xrealloc(data, datalen + len + 1);
 
                case 0:
                        data = xrealloc(data, datalen + len + 1);
@@ -959,7 +959,7 @@ int cmd_join(int argc, char *argv[]) {
                if(tty)
                        fprintf(stderr, "Enter invitation URL: ");
                errno = EPIPE;
                if(tty)
                        fprintf(stderr, "Enter invitation URL: ");
                errno = EPIPE;
-               if(!fgets(line, sizeof line, stdin)) {
+               if(!fgets(line, sizeof(line), stdin)) {
                        fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                        return false;
                }
                        fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                        return false;
                }
@@ -1042,8 +1042,8 @@ next:
        fprintf(stderr, "Connected to %s port %s...\n", address, port);
 
        // Tell him we have an invitation, and give him our throw-away key.
        fprintf(stderr, "Connected to %s port %s...\n", address, port);
 
        // Tell him we have an invitation, and give him our throw-away key.
-       int len = snprintf(line, sizeof line, "0 ?%s %d.%d\n", b64key, PROT_MAJOR, PROT_MINOR);
-       if(len <= 0 || len >= sizeof line)
+       int len = snprintf(line, sizeof(line), "0 ?%s %d.%d\n", b64key, PROT_MAJOR, PROT_MINOR);
+       if(len <= 0 || len >= sizeof(line))
                abort();
 
        if(!sendline(sock, "0 ?%s %d.%d", b64key, PROT_MAJOR, 1)) {
                abort();
 
        if(!sendline(sock, "0 ?%s %d.%d", b64key, PROT_MAJOR, 1)) {
@@ -1055,7 +1055,7 @@ next:
        char hisname[4096] = "";
        int code, hismajor, hisminor = 0;
 
        char hisname[4096] = "";
        int code, hismajor, hisminor = 0;
 
-       if(!recvline(sock, line, sizeof line) || sscanf(line, "%d %4095s %d.%d", &code, hisname, &hismajor, &hisminor) < 3 || code != 0 || hismajor != PROT_MAJOR || !check_id(hisname) || !recvline(sock, line, sizeof line) || !rstrip(line) || sscanf(line, "%d ", &code) != 1 || code != ACK || strlen(line) < 3) {
+       if(!recvline(sock, line, sizeof(line)) || sscanf(line, "%d %4095s %d.%d", &code, hisname, &hismajor, &hisminor) < 3 || code != 0 || hismajor != PROT_MAJOR || !check_id(hisname) || !recvline(sock, line, sizeof line) || !rstrip(line) || sscanf(line, "%d ", &code) != 1 || code != ACK || strlen(line) < 3) {
                fprintf(stderr, "Cannot read greeting from peer\n");
                closesocket(sock);
                goto next;
                fprintf(stderr, "Cannot read greeting from peer\n");
                closesocket(sock);
                goto next;
@@ -1086,7 +1086,7 @@ next:
        if(!sptps_receive_data(&sptps, buffer, blen))
                return 1;
 
        if(!sptps_receive_data(&sptps, buffer, blen))
                return 1;
 
-       while((len = recv(sock, line, sizeof line, 0))) {
+       while((len = recv(sock, line, sizeof(line), 0))) {
                if(len < 0) {
                        if(errno == EINTR)
                                continue;
                if(len < 0) {
                        if(errno == EINTR)
                                continue;
index 4075ea8..70180f7 100644 (file)
@@ -61,7 +61,7 @@ static void real_logger(int level, int priority, const char *message) {
                                if(!now.tv_sec)
                                        gettimeofday(&now, NULL);
                                time_t now_sec = now.tv_sec;
                                if(!now.tv_sec)
                                        gettimeofday(&now, NULL);
                                time_t now_sec = now.tv_sec;
-                               strftime(timestr, sizeof timestr, "%Y-%m-%d %H:%M:%S", localtime(&now_sec));
+                               strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S", localtime(&now_sec));
                                fprintf(logfile, "%s %s[%ld]: %s\n", timestr, logident, (long)logpid, message);
                                fflush(logfile);
                                break;
                                fprintf(logfile, "%s %s[%ld]: %s\n", timestr, logident, (long)logpid, message);
                                fflush(logfile);
                                break;
@@ -109,11 +109,11 @@ void logger(int level, int priority, const char *format, ...) {
        char message[1024] = "";
 
        va_start(ap, format);
        char message[1024] = "";
 
        va_start(ap, format);
-       int len = vsnprintf(message, sizeof message, format, ap);
-       message[sizeof message - 1] = 0;
+       int len = vsnprintf(message, sizeof(message), format, ap);
+       message[sizeof(message) - 1] = 0;
        va_end(ap);
 
        va_end(ap);
 
-       if(len > 0 && len < sizeof message - 1 && message[len - 1] == '\n')
+       if(len > 0 && len < sizeof(message) - 1 && message[len - 1] == '\n')
                message[len - 1] = 0;
 
        real_logger(level, priority, message);
                message[len - 1] = 0;
 
        real_logger(level, priority, message);
@@ -121,11 +121,11 @@ void logger(int level, int priority, const char *format, ...) {
 
 static void sptps_logger(sptps_t *s, int s_errno, const char *format, va_list ap) {
        char message[1024];
 
 static void sptps_logger(sptps_t *s, int s_errno, const char *format, va_list ap) {
        char message[1024];
-       size_t msglen = sizeof message;
+       size_t msglen = sizeof(message);
 
        int len = vsnprintf(message, msglen, format, ap);
 
        int len = vsnprintf(message, msglen, format, ap);
-       message[sizeof message - 1] = 0;
-       if(len > 0 && len < sizeof message - 1) {
+       message[sizeof(message) - 1] = 0;
+       if(len > 0 && len < sizeof(message) - 1) {
                if(message[len - 1] == '\n')
                        message[--len] = 0;
 
                if(message[len - 1] == '\n')
                        message[--len] = 0;
 
@@ -133,7 +133,7 @@ static void sptps_logger(sptps_t *s, int s_errno, const char *format, va_list ap
                // but both types have the name and hostname fields at the same offsets.
                connection_t *c = s->handle;
                if(c)
                // but both types have the name and hostname fields at the same offsets.
                connection_t *c = s->handle;
                if(c)
-                       snprintf(message + len, sizeof message - len, " from %s (%s)", c->name, c->hostname);
+                       snprintf(message + len, sizeof(message) - len, " from %s (%s)", c->name, c->hostname);
        }
 
        real_logger(DEBUG_ALWAYS, LOG_ERR, message);
        }
 
        real_logger(DEBUG_ALWAYS, LOG_ERR, message);
index 4b35798..8191983 100644 (file)
@@ -164,12 +164,12 @@ bool receive_meta(connection_t *c) {
 
        buffer_compact(&c->inbuf, MAXBUFSIZE);
 
 
        buffer_compact(&c->inbuf, MAXBUFSIZE);
 
-       if(sizeof inbuf <= c->inbuf.len) {
+       if(sizeof(inbuf) <= c->inbuf.len) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Input buffer full for %s (%s)", c->name, c->hostname);
                return false;
        }
 
                logger(DEBUG_ALWAYS, LOG_ERR, "Input buffer full for %s (%s)", c->name, c->hostname);
                return false;
        }
 
-       inlen = recv(c->socket, inbuf, sizeof inbuf - c->inbuf.len, 0);
+       inlen = recv(c->socket, inbuf, sizeof(inbuf) - c->inbuf.len, 0);
 
        if(inlen <= 0) {
                if(!inlen || !sockerrno) {
 
        if(inlen <= 0) {
                if(!inlen || !sockerrno) {
index dfdb964..9c79ac0 100644 (file)
@@ -112,18 +112,18 @@ static bool setup_device(void) {
        }
 
        for (i = 0; ; i++) {
        }
 
        for (i = 0; ; i++) {
-               len = sizeof adapterid;
+               len = sizeof(adapterid);
                if(RegEnumKeyEx(key, i, adapterid, &len, 0, 0, 0, NULL))
                        break;
 
                /* Find out more about this adapter */
 
                if(RegEnumKeyEx(key, i, adapterid, &len, 0, 0, 0, NULL))
                        break;
 
                /* Find out more about this adapter */
 
-               snprintf(regpath, sizeof regpath, "%s\\%s\\Connection", NETWORK_CONNECTIONS_KEY, adapterid);
+               snprintf(regpath, sizeof(regpath), "%s\\%s\\Connection", NETWORK_CONNECTIONS_KEY, adapterid);
 
                if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, regpath, 0, KEY_READ, &key2))
                        continue;
 
 
                if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, regpath, 0, KEY_READ, &key2))
                        continue;
 
-               len = sizeof adaptername;
+               len = sizeof(adaptername);
                err = RegQueryValueEx(key2, "Name", 0, 0, (LPBYTE)adaptername, &len);
 
                RegCloseKey(key2);
                err = RegQueryValueEx(key2, "Name", 0, 0, (LPBYTE)adaptername, &len);
 
                RegCloseKey(key2);
@@ -147,7 +147,7 @@ static bool setup_device(void) {
                                continue;
                }
 
                                continue;
                }
 
-               snprintf(tapname, sizeof tapname, USERMODEDEVICEDIR "%s" TAPSUFFIX, adapterid);
+               snprintf(tapname, sizeof(tapname), USERMODEDEVICEDIR "%s" TAPSUFFIX, adapterid);
                device_handle = CreateFile(tapname, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_OVERLAPPED, 0);
                if(device_handle != INVALID_HANDLE_VALUE) {
                        found = true;
                device_handle = CreateFile(tapname, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_OVERLAPPED, 0);
                if(device_handle != INVALID_HANDLE_VALUE) {
                        found = true;
@@ -171,7 +171,7 @@ static bool setup_device(void) {
        /* Try to open the corresponding tap device */
 
        if(device_handle == INVALID_HANDLE_VALUE) {
        /* Try to open the corresponding tap device */
 
        if(device_handle == INVALID_HANDLE_VALUE) {
-               snprintf(tapname, sizeof tapname, USERMODEDEVICEDIR "%s" TAPSUFFIX, device);
+               snprintf(tapname, sizeof(tapname), USERMODEDEVICEDIR "%s" TAPSUFFIX, device);
                device_handle = CreateFile(tapname, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_OVERLAPPED, 0);
        }
 
                device_handle = CreateFile(tapname, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_OVERLAPPED, 0);
        }
 
@@ -185,7 +185,7 @@ static bool setup_device(void) {
        {
                ULONG info[3] = {0};
                DWORD len;
        {
                ULONG info[3] = {0};
                DWORD len;
-               if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_VERSION, &info, sizeof info, &info, sizeof info, &len, NULL))
+               if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_VERSION, &info, sizeof(info), &info, sizeof info, &len, NULL))
                        logger(DEBUG_ALWAYS, LOG_WARNING, "Could not get version information from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
                else {
                        logger(DEBUG_ALWAYS, LOG_INFO, "TAP-Windows driver version: %lu.%lu%s", info[0], info[1], info[2] ? " (DEBUG)" : "");
                        logger(DEBUG_ALWAYS, LOG_WARNING, "Could not get version information from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
                else {
                        logger(DEBUG_ALWAYS, LOG_INFO, "TAP-Windows driver version: %lu.%lu%s", info[0], info[1], info[2] ? " (DEBUG)" : "");
@@ -201,7 +201,7 @@ static bool setup_device(void) {
 
        /* Get MAC address from tap device */
 
 
        /* Get MAC address from tap device */
 
-       if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_MAC, mymac.x, sizeof mymac.x, mymac.x, sizeof mymac.x, &len, 0)) {
+       if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_MAC, mymac.x, sizeof(mymac.x), mymac.x, sizeof mymac.x, &len, 0)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get MAC address from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
                return false;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get MAC address from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
                return false;
        }
@@ -225,7 +225,7 @@ static void enable_device(void) {
 
        ULONG status = 1;
        DWORD len;
 
        ULONG status = 1;
        DWORD len;
-       DeviceIoControl(device_handle, TAP_IOCTL_SET_MEDIA_STATUS, &status, sizeof status, &status, sizeof status, &len, NULL);
+       DeviceIoControl(device_handle, TAP_IOCTL_SET_MEDIA_STATUS, &status, sizeof(status), &status, sizeof status, &len, NULL);
 
        /* We don't use the write event directly, but GetOverlappedResult() does, internally. */
 
 
        /* We don't use the write event directly, but GetOverlappedResult() does, internally. */
 
@@ -240,7 +240,7 @@ static void disable_device(void) {
 
        ULONG status = 0;
        DWORD len;
 
        ULONG status = 0;
        DWORD len;
-       DeviceIoControl(device_handle, TAP_IOCTL_SET_MEDIA_STATUS, &status, sizeof status, &status, sizeof status, &len, NULL);
+       DeviceIoControl(device_handle, TAP_IOCTL_SET_MEDIA_STATUS, &status, sizeof(status), &status, sizeof status, &len, NULL);
 
        /* Note that we don't try to cancel ongoing I/O here - we just stop listening.
           This is because some TAP-Win32 drivers don't seem to handle cancellation very well,
 
        /* Note that we don't try to cancel ongoing I/O here - we just stop listening.
           This is because some TAP-Win32 drivers don't seem to handle cancellation very well,
@@ -297,7 +297,7 @@ static bool write_packet(vpn_packet_t *packet) {
 
        /* Copy the packet, since the write operation might still be ongoing after we return. */
 
 
        /* Copy the packet, since the write operation might still be ongoing after we return. */
 
-       memcpy(&device_write_packet, packet, sizeof *packet);
+       memcpy(&device_write_packet, packet, sizeof(*packet));
 
        if(WriteFile(device_handle, DATA(&device_write_packet), device_write_packet.len, &outlen, &device_write_overlapped))
                device_write_packet.len = 0;
 
        if(WriteFile(device_handle, DATA(&device_write_packet), device_write_packet.len, &outlen, &device_write_overlapped))
                device_write_packet.len = 0;
index 8dab9e0..082ba7d 100644 (file)
@@ -80,7 +80,7 @@ static bool setup_device(void) {
 #endif
 
        static const int one = 1;
 #endif
 
        static const int one = 1;
-       setsockopt(device_fd, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof one);
+       setsockopt(device_fd, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(one));
 
        if(bind(device_fd, ai->ai_addr, ai->ai_addrlen)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Can't bind to %s %s: %s", host, port, sockstrerror(sockerrno));
 
        if(bind(device_fd, ai->ai_addr, ai->ai_addrlen)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Can't bind to %s %s: %s", host, port, sockstrerror(sockerrno));
@@ -92,18 +92,18 @@ static bool setup_device(void) {
                case AF_INET: {
                        struct ip_mreq mreq;
                        struct sockaddr_in in;
                case AF_INET: {
                        struct ip_mreq mreq;
                        struct sockaddr_in in;
-                       memcpy(&in, ai->ai_addr, sizeof in);
+                       memcpy(&in, ai->ai_addr, sizeof(in));
                        mreq.imr_multiaddr.s_addr = in.sin_addr.s_addr;
                        mreq.imr_interface.s_addr = htonl(INADDR_ANY);
                        mreq.imr_multiaddr.s_addr = in.sin_addr.s_addr;
                        mreq.imr_interface.s_addr = htonl(INADDR_ANY);
-                       if(setsockopt(device_fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *)&mreq, sizeof mreq)) {
+                       if(setsockopt(device_fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *)&mreq, sizeof(mreq))) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Cannot join multicast group %s %s: %s", host, port, sockstrerror(sockerrno));
                                goto error;
                        }
 #ifdef IP_MULTICAST_LOOP
                                logger(DEBUG_ALWAYS, LOG_ERR, "Cannot join multicast group %s %s: %s", host, port, sockstrerror(sockerrno));
                                goto error;
                        }
 #ifdef IP_MULTICAST_LOOP
-                       setsockopt(device_fd, IPPROTO_IP, IP_MULTICAST_LOOP, (const void *)&one, sizeof one);
+                       setsockopt(device_fd, IPPROTO_IP, IP_MULTICAST_LOOP, (const void *)&one, sizeof(one));
 #endif
 #ifdef IP_MULTICAST_TTL
 #endif
 #ifdef IP_MULTICAST_TTL
-                       setsockopt(device_fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&ttl, sizeof ttl);
+                       setsockopt(device_fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&ttl, sizeof(ttl));
 #endif
                } break;
 #endif
 #endif
                } break;
 #endif
@@ -112,18 +112,18 @@ static bool setup_device(void) {
                case AF_INET6: {
                        struct ipv6_mreq mreq;
                        struct sockaddr_in6 in6;
                case AF_INET6: {
                        struct ipv6_mreq mreq;
                        struct sockaddr_in6 in6;
-                       memcpy(&in6, ai->ai_addr, sizeof in6);
-                       memcpy(&mreq.ipv6mr_multiaddr, &in6.sin6_addr, sizeof mreq.ipv6mr_multiaddr);
+                       memcpy(&in6, ai->ai_addr, sizeof(in6));
+                       memcpy(&mreq.ipv6mr_multiaddr, &in6.sin6_addr, sizeof(mreq.ipv6mr_multiaddr));
                        mreq.ipv6mr_interface = in6.sin6_scope_id;
                        mreq.ipv6mr_interface = in6.sin6_scope_id;
-                       if(setsockopt(device_fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (void *)&mreq, sizeof mreq)) {
+                       if(setsockopt(device_fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (void *)&mreq, sizeof(mreq))) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Cannot join multicast group %s %s: %s", host, port, sockstrerror(sockerrno));
                                goto error;
                        }
 #ifdef IPV6_MULTICAST_LOOP
                                logger(DEBUG_ALWAYS, LOG_ERR, "Cannot join multicast group %s %s: %s", host, port, sockstrerror(sockerrno));
                                goto error;
                        }
 #ifdef IPV6_MULTICAST_LOOP
-                       setsockopt(device_fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (const void *)&one, sizeof one);
+                       setsockopt(device_fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (const void *)&one, sizeof(one));
 #endif
 #ifdef IPV6_MULTICAST_HOPS
 #endif
 #ifdef IPV6_MULTICAST_HOPS
-                       setsockopt(device_fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (void *)&ttl, sizeof ttl);
+                       setsockopt(device_fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (void *)&ttl, sizeof(ttl));
 #endif
                } break;
 #endif
 #endif
                } break;
 #endif
@@ -168,7 +168,7 @@ static bool read_packet(vpn_packet_t *packet) {
                return false;
        }
 
                return false;
        }
 
-       if(!memcmp(&ignore_src, DATA(packet) + 6, sizeof ignore_src)) {
+       if(!memcmp(&ignore_src, DATA(packet) + 6, sizeof(ignore_src))) {
                logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Ignoring loopback packet of %d bytes from %s", lenin, device_info);
                return false;
        }
                logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Ignoring loopback packet of %d bytes from %s", lenin, device_info);
                return false;
        }
@@ -191,7 +191,7 @@ static bool write_packet(vpn_packet_t *packet) {
                return false;
        }
 
                return false;
        }
 
-       memcpy(&ignore_src, DATA(packet) + 6, sizeof ignore_src);
+       memcpy(&ignore_src, DATA(packet) + 6, sizeof(ignore_src));
 
        return true;
 }
 
        return true;
 }
index 0cae28a..95aad2b 100644 (file)
@@ -42,7 +42,7 @@ void make_names(bool daemon) {
 #ifdef HAVE_MINGW
        HKEY key;
        char installdir[1024] = "";
 #ifdef HAVE_MINGW
        HKEY key;
        char installdir[1024] = "";
-       DWORD len = sizeof installdir;
+       DWORD len = sizeof(installdir);
 #endif
        confbase_given = confbase;
 
 #endif
        confbase_given = confbase;
 
@@ -93,9 +93,9 @@ void make_names(bool daemon) {
                        fallback = true;
        } else {
                char fname[PATH_MAX];
                        fallback = true;
        } else {
                char fname[PATH_MAX];
-               snprintf(fname, sizeof fname, LOCALSTATEDIR SLASH "run" SLASH "%s.pid", identname);
+               snprintf(fname, sizeof(fname), LOCALSTATEDIR SLASH "run" SLASH "%s.pid", identname);
                if(access(fname, R_OK)) {
                if(access(fname, R_OK)) {
-                       snprintf(fname, sizeof fname, "%s" SLASH "pid", confbase);
+                       snprintf(fname, sizeof(fname), "%s" SLASH "pid", confbase);
                        if(!access(fname, R_OK))
                                fallback = true;
                }
                        if(!access(fname, R_OK))
                                fallback = true;
                }
index 1cb467d..887447b 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -293,7 +293,7 @@ int reload_configuration(void) {
 
        read_config_options(config_tree, NULL);
 
 
        read_config_options(config_tree, NULL);
 
-       snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, myself->name);
+       snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, myself->name);
        read_config_file(config_tree, fname);
 
        /* Parse some options that are allowed to be changed while tinc is running */
        read_config_file(config_tree, fname);
 
        /* Parse some options that are allowed to be changed while tinc is running */
@@ -376,7 +376,7 @@ int reload_configuration(void) {
                if(c->status.control)
                        continue;
 
                if(c->status.control)
                        continue;
 
-               snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, c->name);
+               snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, c->name);
                struct stat s;
                if(stat(fname, &s) || s.st_mtime > last_config_check) {
                        logger(DEBUG_CONNECTIONS, LOG_INFO, "Host config file of %s has been changed", c->name);
                struct stat s;
                if(stat(fname, &s) || s.st_mtime > last_config_check) {
                        logger(DEBUG_CONNECTIONS, LOG_INFO, "Host config file of %s has been changed", c->name);
index 5d559bd..2d430bc 100644 (file)
@@ -347,9 +347,9 @@ static bool receive_udppacket(node_t *n, vpn_packet_t *inpkt) {
        /* Check the sequence number */
 
        seqno_t seqno;
        /* Check the sequence number */
 
        seqno_t seqno;
-       memcpy(&seqno, SEQNO(inpkt), sizeof seqno);
+       memcpy(&seqno, SEQNO(inpkt), sizeof(seqno));
        seqno = ntohl(seqno);
        seqno = ntohl(seqno);
-       inpkt->len -= sizeof seqno;
+       inpkt->len -= sizeof(seqno);
 
        if(replaywin) {
                if(seqno != n->received_seqno + 1) {
 
        if(replaywin) {
                if(seqno != n->received_seqno + 1) {
@@ -421,7 +421,7 @@ void receive_tcppacket(connection_t *c, const char *buffer, int len) {
        vpn_packet_t outpkt;
        outpkt.offset = DEFAULT_PACKET_OFFSET;
 
        vpn_packet_t outpkt;
        outpkt.offset = DEFAULT_PACKET_OFFSET;
 
-       if(len > sizeof outpkt.data - outpkt.offset)
+       if(len > sizeof(outpkt.data) - outpkt.offset)
                return;
 
        outpkt.len = len;
                return;
 
        outpkt.len = len;
@@ -677,8 +677,8 @@ static void send_udppacket(node_t *n, vpn_packet_t *origpkt) {
        /* Add sequence number */
 
        seqno_t seqno = htonl(++(n->sent_seqno));
        /* Add sequence number */
 
        seqno_t seqno = htonl(++(n->sent_seqno));
-       memcpy(SEQNO(inpkt), &seqno, sizeof seqno);
-       inpkt->len += sizeof seqno;
+       memcpy(SEQNO(inpkt), &seqno, sizeof(seqno));
+       inpkt->len += sizeof(seqno);
 
        /* Encrypt the packet */
 
 
        /* Encrypt the packet */
 
@@ -722,14 +722,14 @@ static void send_udppacket(node_t *n, vpn_packet_t *origpkt) {
 #if defined(IPPROTO_IP) && defined(IP_TOS)
                case AF_INET:
                        logger(DEBUG_TRAFFIC, LOG_DEBUG, "Setting IPv4 outgoing packet priority to %d", origpriority);
 #if defined(IPPROTO_IP) && defined(IP_TOS)
                case AF_INET:
                        logger(DEBUG_TRAFFIC, LOG_DEBUG, "Setting IPv4 outgoing packet priority to %d", origpriority);
-                       if(setsockopt(listen_socket[sock].udp.fd, IPPROTO_IP, IP_TOS, (void *)&origpriority, sizeof origpriority)) /* SO_PRIORITY doesn't seem to work */
+                       if(setsockopt(listen_socket[sock].udp.fd, IPPROTO_IP, IP_TOS, (void *)&origpriority, sizeof(origpriority))) /* SO_PRIORITY doesn't seem to work */
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "setsockopt", sockstrerror(sockerrno));
                        break;
 #endif
 #if defined(IPPROTO_IPV6) & defined(IPV6_TCLASS)
                case AF_INET6:
                        logger(DEBUG_TRAFFIC, LOG_DEBUG, "Setting IPv6 outgoing packet priority to %d", origpriority);
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "setsockopt", sockstrerror(sockerrno));
                        break;
 #endif
 #if defined(IPPROTO_IPV6) & defined(IPV6_TCLASS)
                case AF_INET6:
                        logger(DEBUG_TRAFFIC, LOG_DEBUG, "Setting IPv6 outgoing packet priority to %d", origpriority);
-                       if(setsockopt(listen_socket[sock].udp.fd, IPPROTO_IPV6, IPV6_TCLASS, (void *)&origpriority, sizeof origpriority)) /* SO_PRIORITY doesn't seem to work */
+                       if(setsockopt(listen_socket[sock].udp.fd, IPPROTO_IPV6, IPV6_TCLASS, (void *)&origpriority, sizeof(origpriority))) /* SO_PRIORITY doesn't seem to work */
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "setsockopt", sockstrerror(sockerrno));
                        break;
 #endif
                                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "setsockopt", sockstrerror(sockerrno));
                        break;
 #endif
@@ -764,12 +764,12 @@ bool send_sptps_data(node_t *to, node_t *from, int type, const void *data, size_
 
        if(type == SPTPS_HANDSHAKE || tcponly || (!direct && !relay_supported) || (type != PKT_PROBE && (len - SPTPS_DATAGRAM_OVERHEAD) > relay->minmtu)) {
                if(type != SPTPS_HANDSHAKE && (to->nexthop->connection->options >> 24) >= 7) {
 
        if(type == SPTPS_HANDSHAKE || tcponly || (!direct && !relay_supported) || (type != PKT_PROBE && (len - SPTPS_DATAGRAM_OVERHEAD) > relay->minmtu)) {
                if(type != SPTPS_HANDSHAKE && (to->nexthop->connection->options >> 24) >= 7) {
-                       char buf[len + sizeof to->id + sizeof from->id]; char* buf_ptr = buf;
-                       memcpy(buf_ptr, &to->id, sizeof to->id); buf_ptr += sizeof to->id;
-                       memcpy(buf_ptr, &from->id, sizeof from->id); buf_ptr += sizeof from->id;
+                       char buf[len + sizeof(to->id) + sizeof from->id]; char* buf_ptr = buf;
+                       memcpy(buf_ptr, &to->id, sizeof(to->id)); buf_ptr += sizeof to->id;
+                       memcpy(buf_ptr, &from->id, sizeof(from->id)); buf_ptr += sizeof from->id;
                        memcpy(buf_ptr, data, len);
                        logger(DEBUG_TRAFFIC, LOG_INFO, "Sending packet from %s (%s) to %s (%s) via %s (%s) (TCP)", from->name, from->hostname, to->name, to->hostname, to->nexthop->name, to->nexthop->hostname);
                        memcpy(buf_ptr, data, len);
                        logger(DEBUG_TRAFFIC, LOG_INFO, "Sending packet from %s (%s) to %s (%s) via %s (%s) (TCP)", from->name, from->hostname, to->name, to->hostname, to->nexthop->name, to->nexthop->hostname);
-                       return send_sptps_tcppacket(to->nexthop->connection, buf, sizeof buf);
+                       return send_sptps_tcppacket(to->nexthop->connection, buf, sizeof(buf));
                }
 
                char buf[len * 4 / 3 + 5];
                }
 
                char buf[len * 4 / 3 + 5];
@@ -786,17 +786,17 @@ bool send_sptps_data(node_t *to, node_t *from, int type, const void *data, size_
        }
 
        size_t overhead = 0;
        }
 
        size_t overhead = 0;
-       if(relay_supported) overhead += sizeof to->id + sizeof from->id;
+       if(relay_supported) overhead += sizeof(to->id) + sizeof from->id;
        char buf[len + overhead]; char* buf_ptr = buf;
        if(relay_supported) {
                if(direct) {
                        /* Inform the recipient that this packet was sent directly. */
                        node_id_t nullid = {};
        char buf[len + overhead]; char* buf_ptr = buf;
        if(relay_supported) {
                if(direct) {
                        /* Inform the recipient that this packet was sent directly. */
                        node_id_t nullid = {};
-                       memcpy(buf_ptr, &nullid, sizeof nullid); buf_ptr += sizeof nullid;
+                       memcpy(buf_ptr, &nullid, sizeof(nullid)); buf_ptr += sizeof nullid;
                } else {
                } else {
-                       memcpy(buf_ptr, &to->id, sizeof to->id); buf_ptr += sizeof to->id;
+                       memcpy(buf_ptr, &to->id, sizeof(to->id)); buf_ptr += sizeof to->id;
                }
                }
-               memcpy(buf_ptr, &from->id, sizeof from->id); buf_ptr += sizeof from->id;
+               memcpy(buf_ptr, &from->id, sizeof(from->id)); buf_ptr += sizeof from->id;
 
        }
        /* TODO: if this copy turns out to be a performance concern, change sptps_send_record() to add some "pre-padding" to the buffer and use that instead */
 
        }
        /* TODO: if this copy turns out to be a performance concern, change sptps_send_record() to add some "pre-padding" to the buffer and use that instead */
@@ -1018,7 +1018,7 @@ static length_t choose_initial_maxmtu(node_t *n) {
        }
 
        int ip_mtu;
        }
 
        int ip_mtu;
-       socklen_t ip_mtu_len = sizeof ip_mtu;
+       socklen_t ip_mtu_len = sizeof(ip_mtu);
        if(getsockopt(sock, IPPROTO_IP, IP_MTU, &ip_mtu, &ip_mtu_len)) {
                logger(DEBUG_TRAFFIC, LOG_ERR, "getsockopt(IP_MTU) on %s (%s) failed: %s", n->name, n->hostname, sockstrerror(sockerrno));
                close(sock);
        if(getsockopt(sock, IPPROTO_IP, IP_MTU, &ip_mtu, &ip_mtu_len)) {
                logger(DEBUG_TRAFFIC, LOG_ERR, "getsockopt(IP_MTU) on %s (%s) failed: %s", n->name, n->hostname, sockstrerror(sockerrno));
                close(sock);
@@ -1422,7 +1422,7 @@ static void handle_incoming_vpn_packet(listen_socket_t *ls, vpn_packet_t *pkt, s
                // It might be from a 1.1 node, which might have a source ID in the packet.
                pkt->offset = 2 * sizeof(node_id_t);
                from = lookup_node_id(SRCID(pkt));
                // It might be from a 1.1 node, which might have a source ID in the packet.
                pkt->offset = 2 * sizeof(node_id_t);
                from = lookup_node_id(SRCID(pkt));
-               if(from && !memcmp(DSTID(pkt), &nullid, sizeof nullid) && from->status.sptps) {
+               if(from && !memcmp(DSTID(pkt), &nullid, sizeof(nullid)) && from->status.sptps) {
                        if(sptps_verify_datagram(&from->sptps, DATA(pkt), pkt->len - 2 * sizeof(node_id_t)))
                                n = from;
                        else
                        if(sptps_verify_datagram(&from->sptps, DATA(pkt), pkt->len - 2 * sizeof(node_id_t)))
                                n = from;
                        else
@@ -1454,7 +1454,7 @@ skip_harder:
                        pkt->len -= pkt->offset;
                }
 
                        pkt->len -= pkt->offset;
                }
 
-               if(!memcmp(DSTID(pkt), &nullid, sizeof nullid) || !relay_enabled) {
+               if(!memcmp(DSTID(pkt), &nullid, sizeof(nullid)) || !relay_enabled) {
                        direct = true;
                        from = n;
                        to = myself;
                        direct = true;
                        from = n;
                        to = myself;
@@ -1530,7 +1530,7 @@ void handle_incoming_vpn_data(void *data, int flags) {
 
                msg[i].msg_hdr = (struct msghdr){
                        .msg_name = &addr[i].sa,
 
                msg[i].msg_hdr = (struct msghdr){
                        .msg_name = &addr[i].sa,
-                       .msg_namelen = sizeof addr[i],
+                       .msg_namelen = sizeof(addr)[i],
                        .msg_iov = &iov[i],
                        .msg_iovlen = 1,
                };
                        .msg_iov = &iov[i],
                        .msg_iovlen = 1,
                };
@@ -1553,7 +1553,7 @@ void handle_incoming_vpn_data(void *data, int flags) {
 #else
        vpn_packet_t pkt;
        sockaddr_t addr = {};
 #else
        vpn_packet_t pkt;
        sockaddr_t addr = {};
-       socklen_t addrlen = sizeof addr;
+       socklen_t addrlen = sizeof(addr);
 
        pkt.offset = 0;
        int len = recvfrom(ls->udp.fd, (void *)DATA(&pkt), MAXSIZE, 0, &addr.sa, &addrlen);
 
        pkt.offset = 0;
        int len = recvfrom(ls->udp.fd, (void *)DATA(&pkt), MAXSIZE, 0, &addr.sa, &addrlen);
index e164214..85553be 100644 (file)
@@ -236,7 +236,7 @@ static bool read_invitation_key(void) {
                invitation_key = NULL;
        }
 
                invitation_key = NULL;
        }
 
-       snprintf(fname, sizeof fname, "%s" SLASH "invitations" SLASH "ed25519_key.priv", confbase);
+       snprintf(fname, sizeof(fname), "%s" SLASH "invitations" SLASH "ed25519_key.priv", confbase);
 
        fp = fopen(fname, "r");
 
 
        fp = fopen(fname, "r");
 
@@ -328,7 +328,7 @@ void load_all_nodes(void) {
        struct dirent *ent;
        char dname[PATH_MAX];
 
        struct dirent *ent;
        char dname[PATH_MAX];
 
-       snprintf(dname, sizeof dname, "%s" SLASH "hosts", confbase);
+       snprintf(dname, sizeof(dname), "%s" SLASH "hosts", confbase);
        dir = opendir(dname);
        if(!dir) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not open %s: %s", dname, strerror(errno));
        dir = opendir(dname);
        if(!dir) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not open %s: %s", dname, strerror(errno));
@@ -957,7 +957,7 @@ static bool setup_myself(void) {
                }
 
                for(int i = 0; i < listen_sockets; i++) {
                }
 
                for(int i = 0; i < listen_sockets; i++) {
-                       salen = sizeof sa;
+                       salen = sizeof(sa);
                        if(getsockname(i + 3, &sa.sa, &salen) < 0) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get address of listen fd %d: %s", i + 3, sockstrerror(sockerrno));
                                return false;
                        if(getsockname(i + 3, &sa.sa, &salen) < 0) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get address of listen fd %d: %s", i + 3, sockstrerror(sockerrno));
                                return false;
@@ -1014,7 +1014,7 @@ static bool setup_myself(void) {
 
        if(!port_specified || atoi(myport) == 0) {
                sockaddr_t sa;
 
        if(!port_specified || atoi(myport) == 0) {
                sockaddr_t sa;
-               socklen_t salen = sizeof sa;
+               socklen_t salen = sizeof(sa);
                if(!getsockname(listen_socket[0].udp.fd, &sa.sa, &salen)) {
                        free(myport);
                        sockaddr2str(&sa, NULL, &myport);
                if(!getsockname(listen_socket[0].udp.fd, &sa.sa, &salen)) {
                        free(myport);
                        sockaddr2str(&sa, NULL, &myport);
index ac6b840..46dbdf6 100644 (file)
@@ -70,17 +70,17 @@ static void configure_tcp(connection_t *c) {
 
 #if defined(IPPROTO_TCP) && defined(TCP_NODELAY)
        option = 1;
 
 #if defined(IPPROTO_TCP) && defined(TCP_NODELAY)
        option = 1;
-       setsockopt(c->socket, IPPROTO_TCP, TCP_NODELAY, (void *)&option, sizeof option);
+       setsockopt(c->socket, IPPROTO_TCP, TCP_NODELAY, (void *)&option, sizeof(option));
 #endif
 
 #if defined(IPPROTO_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY)
        option = IPTOS_LOWDELAY;
 #endif
 
 #if defined(IPPROTO_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY)
        option = IPTOS_LOWDELAY;
-       setsockopt(c->socket, IPPROTO_IP, IP_TOS, (void *)&option, sizeof option);
+       setsockopt(c->socket, IPPROTO_IP, IP_TOS, (void *)&option, sizeof(option));
 #endif
 
 #if defined(IPPROTO_IPV6) && defined(IPV6_TCLASS) && defined(IPTOS_LOWDELAY)
        option = IPTOS_LOWDELAY;
 #endif
 
 #if defined(IPPROTO_IPV6) && defined(IPV6_TCLASS) && defined(IPTOS_LOWDELAY)
        option = IPTOS_LOWDELAY;
-       setsockopt(c->socket, IPPROTO_IPV6, IPV6_TCLASS, (void *)&option, sizeof option);
+       setsockopt(c->socket, IPPROTO_IPV6, IPV6_TCLASS, (void *)&option, sizeof(option));
 #endif
 }
 
 #endif
 }
 
@@ -161,11 +161,11 @@ int setup_listen_socket(const sockaddr_t *sa) {
        /* Optimize TCP settings */
 
        option = 1;
        /* Optimize TCP settings */
 
        option = 1;
-       setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, (void *)&option, sizeof option);
+       setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, (void *)&option, sizeof(option));
 
 #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
        if(sa->sa.sa_family == AF_INET6)
 
 #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
        if(sa->sa.sa_family == AF_INET6)
-               setsockopt(nfd, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
+               setsockopt(nfd, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&option, sizeof(option));
 #endif
 
        if(get_config_string
 #endif
 
        if(get_config_string
@@ -173,10 +173,10 @@ int setup_listen_socket(const sockaddr_t *sa) {
 #if defined(SOL_SOCKET) && defined(SO_BINDTODEVICE)
                struct ifreq ifr;
 
 #if defined(SOL_SOCKET) && defined(SO_BINDTODEVICE)
                struct ifreq ifr;
 
-               memset(&ifr, 0, sizeof ifr);
+               memset(&ifr, 0, sizeof(ifr));
                strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ);
 
                strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ);
 
-               if(setsockopt(nfd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr, sizeof ifr)) {
+               if(setsockopt(nfd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr, sizeof(ifr))) {
                        closesocket(nfd);
                        logger(DEBUG_ALWAYS, LOG_ERR, "Can't bind to interface %s: %s", iface,
                                   sockstrerror(sockerrno));
                        closesocket(nfd);
                        logger(DEBUG_ALWAYS, LOG_ERR, "Can't bind to interface %s: %s", iface,
                                   sockstrerror(sockerrno));
@@ -243,8 +243,8 @@ int setup_vpn_in_socket(const sockaddr_t *sa) {
 #endif
 
        option = 1;
 #endif
 
        option = 1;
-       setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, (void *)&option, sizeof option);
-       setsockopt(nfd, SOL_SOCKET, SO_BROADCAST, (void *)&option, sizeof option);
+       setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, (void *)&option, sizeof(option));
+       setsockopt(nfd, SOL_SOCKET, SO_BROADCAST, (void *)&option, sizeof(option));
 
        if(udp_rcvbuf && setsockopt(nfd, SOL_SOCKET, SO_RCVBUF, (void *)&udp_rcvbuf, sizeof(udp_rcvbuf)))
                logger(DEBUG_ALWAYS, LOG_WARNING, "Can't set UDP SO_RCVBUF to %i: %s", udp_rcvbuf, sockstrerror(sockerrno));
 
        if(udp_rcvbuf && setsockopt(nfd, SOL_SOCKET, SO_RCVBUF, (void *)&udp_rcvbuf, sizeof(udp_rcvbuf)))
                logger(DEBUG_ALWAYS, LOG_WARNING, "Can't set UDP SO_RCVBUF to %i: %s", udp_rcvbuf, sockstrerror(sockerrno));
@@ -254,7 +254,7 @@ int setup_vpn_in_socket(const sockaddr_t *sa) {
 
 #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
        if(sa->sa.sa_family == AF_INET6)
 
 #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
        if(sa->sa.sa_family == AF_INET6)
-               setsockopt(nfd, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
+               setsockopt(nfd, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&option, sizeof(option));
 #endif
 
 #if defined(IP_DONTFRAG) && !defined(IP_DONTFRAGMENT)
 #endif
 
 #if defined(IP_DONTFRAG) && !defined(IP_DONTFRAGMENT)
@@ -421,7 +421,7 @@ static void handle_meta_io(void *data, int flags) {
                        if (!socknotconn(sockerrno))
                                socket_error = sockerrno;
                        else {
                        if (!socknotconn(sockerrno))
                                socket_error = sockerrno;
                        else {
-                               socklen_t len = sizeof socket_error;
+                               socklen_t len = sizeof(socket_error);
                                getsockopt(c->socket, SOL_SOCKET, SO_ERROR, (void *)&socket_error, &len);
                        }
                        if (socket_error) {
                                getsockopt(c->socket, SOL_SOCKET, SO_ERROR, (void *)&socket_error, &len);
                        }
                        if (socket_error) {
@@ -532,7 +532,7 @@ begin:
 #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
                int option = 1;
                if(c->address.sa.sa_family == AF_INET6)
 #if defined(IPPROTO_IPV6) && defined(IPV6_V6ONLY)
                int option = 1;
                if(c->address.sa.sa_family == AF_INET6)
-                       setsockopt(c->socket, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
+                       setsockopt(c->socket, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&option, sizeof(option));
 #endif
 
                bind_to_interface(c->socket);
 #endif
 
                bind_to_interface(c->socket);
@@ -599,7 +599,7 @@ static struct addrinfo *get_known_addresses(node_t *n) {
                        continue;
 
                oai = ai;
                        continue;
 
                oai = ai;
-               ai = xzalloc(sizeof *ai);
+               ai = xzalloc(sizeof(*ai));
                ai->ai_family = e->reverse->address.sa.sa_family;
                ai->ai_socktype = SOCK_STREAM;
                ai->ai_protocol = IPPROTO_TCP;
                ai->ai_family = e->reverse->address.sa.sa_family;
                ai->ai_socktype = SOCK_STREAM;
                ai->ai_protocol = IPPROTO_TCP;
@@ -656,7 +656,7 @@ void handle_new_meta_connection(void *data, int flags) {
        connection_t *c;
        sockaddr_t sa;
        int fd;
        connection_t *c;
        sockaddr_t sa;
        int fd;
-       socklen_t len = sizeof sa;
+       socklen_t len = sizeof(sa);
 
        fd = accept(l->tcp.fd, &sa.sa, &len);
 
 
        fd = accept(l->tcp.fd, &sa.sa, &len);
 
@@ -695,7 +695,7 @@ void handle_new_meta_connection(void *data, int flags) {
                }
        }
 
                }
        }
 
-       memcpy(&prev_sa, &sa, sizeof sa);
+       memcpy(&prev_sa, &sa, sizeof(sa));
 
        // Check if we get many connections from different hosts
 
 
        // Check if we get many connections from different hosts
 
@@ -753,7 +753,7 @@ void handle_new_unix_connection(void *data, int flags) {
        connection_t *c;
        sockaddr_t sa;
        int fd;
        connection_t *c;
        sockaddr_t sa;
        int fd;
-       socklen_t len = sizeof sa;
+       socklen_t len = sizeof(sa);
 
        fd = accept(io->fd, &sa.sa, &len);
 
 
        fd = accept(io->fd, &sa.sa, &len);
 
@@ -841,7 +841,7 @@ void try_outgoing_connections(void) {
                }
 
                if(!found) {
                }
 
                if(!found) {
-                       outgoing_t *outgoing = xzalloc(sizeof *outgoing);
+                       outgoing_t *outgoing = xzalloc(sizeof(*outgoing));
                        outgoing->name = name;
                        list_insert_tail(outgoing_list, outgoing);
                        setup_outgoing_connection(outgoing);
                        outgoing->name = name;
                        list_insert_tail(outgoing_list, outgoing);
                        setup_outgoing_connection(outgoing);
index a9ad17c..69714ea 100644 (file)
@@ -97,7 +97,7 @@ void sockaddr2str(const sockaddr_t *sa, char **addrstr, char **portstr) {
                return;
        }
 
                return;
        }
 
-       err = getnameinfo(&sa->sa, SALEN(sa->sa), address, sizeof address, port, sizeof port, NI_NUMERICHOST | NI_NUMERICSERV);
+       err = getnameinfo(&sa->sa, SALEN(sa->sa), address, sizeof(address), port, sizeof port, NI_NUMERICHOST | NI_NUMERICSERV);
 
        if(err) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Error while translating addresses: %s", err == EAI_SYSTEM ? strerror(errno) : gai_strerror(err));
 
        if(err) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Error while translating addresses: %s", err == EAI_SYSTEM ? strerror(errno) : gai_strerror(err));
@@ -129,7 +129,7 @@ char *sockaddr2hostname(const sockaddr_t *sa) {
                return str;
        }
 
                return str;
        }
 
-       err = getnameinfo(&sa->sa, SALEN(sa->sa), address, sizeof address, port, sizeof port,
+       err = getnameinfo(&sa->sa, SALEN(sa->sa), address, sizeof(address), port, sizeof port,
                                        hostnames ? 0 : (NI_NUMERICHOST | NI_NUMERICSERV));
        if(err) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Error while looking up hostname: %s", err == EAI_SYSTEM ? strerror(errno) : gai_strerror(err));
                                        hostnames ? 0 : (NI_NUMERICHOST | NI_NUMERICSERV));
        if(err) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Error while looking up hostname: %s", err == EAI_SYSTEM ? strerror(errno) : gai_strerror(err));
@@ -189,20 +189,20 @@ int sockaddrcmp(const sockaddr_t *a, const sockaddr_t *b) {
                        return strcmp(a->unknown.port, b->unknown.port);
 
                case AF_INET:
                        return strcmp(a->unknown.port, b->unknown.port);
 
                case AF_INET:
-                       result = memcmp(&a->in.sin_addr, &b->in.sin_addr, sizeof a->in.sin_addr);
+                       result = memcmp(&a->in.sin_addr, &b->in.sin_addr, sizeof(a->in.sin_addr));
 
                        if(result)
                                return result;
 
 
                        if(result)
                                return result;
 
-                       return memcmp(&a->in.sin_port, &b->in.sin_port, sizeof a->in.sin_port);
+                       return memcmp(&a->in.sin_port, &b->in.sin_port, sizeof(a->in.sin_port));
 
                case AF_INET6:
 
                case AF_INET6:
-                       result = memcmp(&a->in6.sin6_addr, &b->in6.sin6_addr, sizeof a->in6.sin6_addr);
+                       result = memcmp(&a->in6.sin6_addr, &b->in6.sin6_addr, sizeof(a->in6.sin6_addr));
 
                        if(result)
                                return result;
 
 
                        if(result)
                                return result;
 
-                       return memcmp(&a->in6.sin6_port, &b->in6.sin6_port, sizeof a->in6.sin6_port);
+                       return memcmp(&a->in6.sin6_port, &b->in6.sin6_port, sizeof(a->in6.sin6_port));
 
                default:
                        logger(DEBUG_ALWAYS, LOG_ERR, "sockaddrcmp() was called with unknown address family %d, exitting!",
 
                default:
                        logger(DEBUG_ALWAYS, LOG_ERR, "sockaddrcmp() was called with unknown address family %d, exitting!",
index b17e692..b4ddecb 100644 (file)
@@ -66,7 +66,7 @@ void exit_nodes(void) {
 }
 
 node_t *new_node(void) {
 }
 
 node_t *new_node(void) {
-       node_t *n = xzalloc(sizeof *n);
+       node_t *n = xzalloc(sizeof(*n));
 
        if(replaywin) n->late = xzalloc(replaywin);
        n->subnet_tree = new_subnet_tree();
 
        if(replaywin) n->late = xzalloc(replaywin);
        n->subnet_tree = new_subnet_tree();
@@ -113,7 +113,7 @@ void free_node(node_t *n) {
 void node_add(node_t *n) {
        unsigned char buf[64];
        sha512(n->name, strlen(n->name),buf);
 void node_add(node_t *n) {
        unsigned char buf[64];
        sha512(n->name, strlen(n->name),buf);
-       memcpy(&n->id, buf, sizeof n->id);
+       memcpy(&n->id, buf, sizeof(n->id));
 
        splay_insert(node_tree, n);
        splay_insert(node_id_tree, n);
 
        splay_insert(node_tree, n);
        splay_insert(node_id_tree, n);
@@ -184,10 +184,10 @@ void update_node_udp(node_t *n, const sockaddr_t *sa) {
 
 bool dump_nodes(connection_t *c) {
        for splay_each(node_t, n, node_tree) {
 
 bool dump_nodes(connection_t *c) {
        for splay_each(node_t, n, node_tree) {
-               char id[2 * sizeof n->id + 1];
-               for (size_t c = 0; c < sizeof n->id; ++c)
+               char id[2 * sizeof(n->id) + 1];
+               for (size_t c = 0; c < sizeof(n->id); ++c)
                        snprintf(id + 2 * c, 3, "%02x", n->id.x[c]);
                        snprintf(id + 2 * c, 3, "%02x", n->id.x[c]);
-               id[sizeof id - 1] = 0;
+               id[sizeof(id) - 1] = 0;
                send_request(c, "%d %d %s %s %s %d %d %d %d %x %x %s %s %d %d %d %d %ld", CONTROL, REQ_DUMP_NODES,
                           n->name, id, n->hostname ?: "unknown port unknown",
 #ifdef DISABLE_LEGACY
                send_request(c, "%d %d %s %s %s %d %d %d %d %x %x %s %s %d %d %d %d %ld", CONTROL, REQ_DUMP_NODES,
                           n->name, id, n->hostname ?: "unknown port unknown",
 #ifdef DISABLE_LEGACY
@@ -195,7 +195,7 @@ bool dump_nodes(connection_t *c) {
 #else
                           cipher_get_nid(n->outcipher), digest_get_nid(n->outdigest), (int)digest_length(n->outdigest),
 #endif
 #else
                           cipher_get_nid(n->outcipher), digest_get_nid(n->outdigest), (int)digest_length(n->outdigest),
 #endif
-                          n->outcompression, n->options, bitfield_to_int(&n->status, sizeof n->status),
+                          n->outcompression, n->options, bitfield_to_int(&n->status, sizeof(n->status)),
                           n->nexthop ? n->nexthop->name : "-", n->via ? n->via->name ?: "-" : "-", n->distance,
                           n->mtu, n->minmtu, n->maxmtu, (long)n->last_state_change);
        }
                           n->nexthop ? n->nexthop->name : "-", n->via ? n->via->name ?: "-" : "-", n->distance,
                           n->mtu, n->minmtu, n->maxmtu, (long)n->last_state_change);
        }
index 55c9923..1937f67 100644 (file)
@@ -60,7 +60,7 @@ static bool hmac_sha512(const char *key, size_t keylen, const char *msg, size_t
 
        // opad
        memxor(tmp, 0x36 ^ 0x5c, blklen);
 
        // opad
        memxor(tmp, 0x36 ^ 0x5c, blklen);
-       if(sha512(tmp, sizeof tmp, out) != 0)
+       if(sha512(tmp, sizeof(tmp), out) != 0)
                return false;
 
        return true;
                return false;
 
        return true;
@@ -84,17 +84,17 @@ bool prf(const char *secret, size_t secretlen, char *seed, size_t seedlen, char
 
        while(outlen > 0) {
                /* Inner HMAC */
 
        while(outlen > 0) {
                /* Inner HMAC */
-               if(!hmac_sha512(secret, secretlen, data, sizeof data, data))
+               if(!hmac_sha512(secret, secretlen, data, sizeof(data), data))
                        return false;
 
                /* Outer HMAC */
                if(outlen >= mdlen) {
                        return false;
 
                /* Outer HMAC */
                if(outlen >= mdlen) {
-                       if(!hmac_sha512(secret, secretlen, data, sizeof data, out))
+                       if(!hmac_sha512(secret, secretlen, data, sizeof(data), out))
                                return false;
                        out += mdlen;
                        outlen -= mdlen;
                } else {
                                return false;
                        out += mdlen;
                        outlen -= mdlen;
                } else {
-                       if(!hmac_sha512(secret, secretlen, data, sizeof data, hash))
+                       if(!hmac_sha512(secret, secretlen, data, sizeof(data), hash))
                                return false;
                        memcpy(out, hash, outlen);
                        out += outlen;
                                return false;
                        memcpy(out, hash, outlen);
                        out += outlen;
index 98033c5..d5cafa4 100644 (file)
@@ -33,7 +33,7 @@ struct cipher {
 };
 
 static cipher_t *cipher_open(const EVP_CIPHER *evp_cipher) {
 };
 
 static cipher_t *cipher_open(const EVP_CIPHER *evp_cipher) {
-       cipher_t *cipher = xzalloc(sizeof *cipher);
+       cipher_t *cipher = xzalloc(sizeof(*cipher));
        cipher->cipher = evp_cipher;
        cipher->ctx = EVP_CIPHER_CTX_new();
        if(!cipher->ctx)
        cipher->cipher = evp_cipher;
        cipher->ctx = EVP_CIPHER_CTX_new();
        if(!cipher->ctx)
index 58ca167..65df7cb 100644 (file)
@@ -29,7 +29,7 @@
 #include "../logger.h"
 
 static digest_t *digest_open(const EVP_MD *evp_md, int maclength) {
 #include "../logger.h"
 
 static digest_t *digest_open(const EVP_MD *evp_md, int maclength) {
-       digest_t *digest = xzalloc(sizeof *digest);
+       digest_t *digest = xzalloc(sizeof(*digest));
        digest->digest = evp_md;
 
        int digestlen = EVP_MD_size(digest->digest);
        digest->digest = evp_md;
 
        int digestlen = EVP_MD_size(digest->digest);
index 5bb7eb3..153dc67 100644 (file)
@@ -63,22 +63,22 @@ static bool install_service(void) {
        }
 
        HMODULE module = GetModuleHandle(NULL);
        }
 
        HMODULE module = GetModuleHandle(NULL);
-       GetModuleFileName(module, command + 1, sizeof command - 1);
-       command[sizeof command - 1] = 0;
+       GetModuleFileName(module, command + 1, sizeof(command) - 1);
+       command[sizeof(command) - 1] = 0;
 
 
-       strncat(command, "\"", sizeof command - strlen(command));
+       strncat(command, "\"", sizeof(command) - strlen(command));
 
        for(char **argp = g_argv + 1; *argp; argp++) {
                char *space = strchr(*argp, ' ');
 
        for(char **argp = g_argv + 1; *argp; argp++) {
                char *space = strchr(*argp, ' ');
-               strncat(command, " ", sizeof command - strlen(command));
+               strncat(command, " ", sizeof(command) - strlen(command));
 
                if(space)
 
                if(space)
-                       strncat(command, "\"", sizeof command - strlen(command));
+                       strncat(command, "\"", sizeof(command) - strlen(command));
 
 
-               strncat(command, *argp, sizeof command - strlen(command));
+               strncat(command, *argp, sizeof(command) - strlen(command));
 
                if(space)
 
                if(space)
-                       strncat(command, "\"", sizeof command - strlen(command));
+                       strncat(command, "\"", sizeof(command) - strlen(command));
        }
 
        service = CreateService(manager, identname, identname,
        }
 
        service = CreateService(manager, identname, identname,
index b9abccc..79d5273 100644 (file)
@@ -72,11 +72,11 @@ bool send_request(connection_t *c, const char *format, ...) {
           input buffer anyway */
 
        va_start(args, format);
           input buffer anyway */
 
        va_start(args, format);
-       len = vsnprintf(request, sizeof request, format, args);
-       request[sizeof request - 1] = 0;
+       len = vsnprintf(request, sizeof(request), format, args);
+       request[sizeof(request) - 1] = 0;
        va_end(args);
 
        va_end(args);
 
-       if(len < 0 || len > sizeof request - 1) {
+       if(len < 0 || len > sizeof(request) - 1) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Output buffer overflow while sending request to %s (%s)",
                           c->name, c->hostname);
                return false;
                logger(DEBUG_ALWAYS, LOG_ERR, "Output buffer overflow while sending request to %s (%s)",
                           c->name, c->hostname);
                return false;
@@ -101,7 +101,7 @@ void forward_request(connection_t *from, const char *request) {
        char tmp[len + 1];
        memcpy(tmp, request, len);
        tmp[len] = '\n';
        char tmp[len + 1];
        memcpy(tmp, request, len);
        tmp[len] = '\n';
-       broadcast_meta(from, tmp, sizeof tmp);
+       broadcast_meta(from, tmp, sizeof(tmp));
 }
 
 bool receive_request(connection_t *c, const char *request) {
 }
 
 bool receive_request(connection_t *c, const char *request) {
@@ -188,7 +188,7 @@ bool seen_request(const char *request) {
                logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Already seen request");
                return true;
        } else {
                logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Already seen request");
                return true;
        } else {
-               new = xmalloc(sizeof *new);
+               new = xmalloc(sizeof(*new));
                new->request = xstrdup(request);
                new->firstseen = now.tv_sec;
                splay_insert(past_request_tree, new);
                new->request = xstrdup(request);
                new->firstseen = now.tv_sec;
                splay_insert(past_request_tree, new);
index a99e1d6..2cface2 100644 (file)
@@ -74,9 +74,9 @@ static bool send_proxyrequest(connection_t *c) {
                        memcpy(s4req + 4, &c->address.in.sin_addr, 4);
                        if(proxyuser)
                                memcpy(s4req + 8, proxyuser, strlen(proxyuser));
                        memcpy(s4req + 4, &c->address.in.sin_addr, 4);
                        if(proxyuser)
                                memcpy(s4req + 8, proxyuser, strlen(proxyuser));
-                       s4req[sizeof s4req - 1] = 0;
+                       s4req[sizeof(s4req) - 1] = 0;
                        c->tcplen = 8;
                        c->tcplen = 8;
-                       return send_meta(c, s4req, sizeof s4req);
+                       return send_meta(c, s4req, sizeof(s4req));
                }
                case PROXY_SOCKS5: {
                        int len = 3 + 6 + (c->address.sa.sa_family == AF_INET ? 4 : 16);
                }
                case PROXY_SOCKS5: {
                        int len = 3 + 6 + (c->address.sa.sa_family == AF_INET ? 4 : 16);
@@ -123,7 +123,7 @@ static bool send_proxyrequest(connection_t *c) {
                        }
                        if(i > len)
                                abort();
                        }
                        if(i > len)
                                abort();
-                       return send_meta(c, s5req, sizeof s5req);
+                       return send_meta(c, s5req, sizeof(s5req));
                }
                case PROXY_SOCKS4A:
                        logger(DEBUG_ALWAYS, LOG_ERR, "Proxy type not implemented yet");
                }
                case PROXY_SOCKS4A:
                        logger(DEBUG_ALWAYS, LOG_ERR, "Proxy type not implemented yet");
@@ -163,7 +163,7 @@ static bool finalize_invitation(connection_t *c, const char *data, uint16_t len)
 
        // Create a new host config file
        char filename[PATH_MAX];
 
        // Create a new host config file
        char filename[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "hosts" SLASH "%s", confbase, c->name);
+       snprintf(filename, sizeof(filename), "%s" SLASH "hosts" SLASH "%s", confbase, c->name);
        if(!access(filename, F_OK)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Host config file for %s (%s) already exists!\n", c->name, c->hostname);
                return false;
        if(!access(filename, F_OK)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Host config file for %s (%s) already exists!\n", c->name, c->hostname);
                return false;
@@ -215,14 +215,14 @@ static bool receive_invitation_sptps(void *handle, uint8_t type, const void *dat
        char hashbuf[18 + strlen(fingerprint)];
        char cookie[64];
        memcpy(hashbuf, data, 18);
        char hashbuf[18 + strlen(fingerprint)];
        char cookie[64];
        memcpy(hashbuf, data, 18);
-       memcpy(hashbuf + 18, fingerprint, sizeof hashbuf - 18);
-       sha512(hashbuf, sizeof hashbuf, cookie);
+       memcpy(hashbuf + 18, fingerprint, sizeof(hashbuf) - 18);
+       sha512(hashbuf, sizeof(hashbuf), cookie);
        b64encode_urlsafe(cookie, cookie, 18);
        free(fingerprint);
 
        char filename[PATH_MAX], usedname[PATH_MAX];
        b64encode_urlsafe(cookie, cookie, 18);
        free(fingerprint);
 
        char filename[PATH_MAX], usedname[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "invitations" SLASH "%s", confbase, cookie);
-       snprintf(usedname, sizeof usedname, "%s" SLASH "invitations" SLASH "%s.used", confbase, cookie);
+       snprintf(filename, sizeof(filename), "%s" SLASH "invitations" SLASH "%s", confbase, cookie);
+       snprintf(usedname, sizeof(usedname), "%s" SLASH "invitations" SLASH "%s.used", confbase, cookie);
 
        // Atomically rename the invitation file
        if(rename(filename, usedname)) {
 
        // Atomically rename the invitation file
        if(rename(filename, usedname)) {
@@ -254,7 +254,7 @@ static bool receive_invitation_sptps(void *handle, uint8_t type, const void *dat
 
        // Read the new node's Name from the file
        char buf[1024];
 
        // Read the new node's Name from the file
        char buf[1024];
-       fgets(buf, sizeof buf, f);
+       fgets(buf, sizeof(buf), f);
        if(*buf)
                buf[strlen(buf) - 1] = 0;
 
        if(*buf)
                buf[strlen(buf) - 1] = 0;
 
@@ -279,7 +279,7 @@ static bool receive_invitation_sptps(void *handle, uint8_t type, const void *dat
        // Send the node the contents of the invitation file
        rewind(f);
        size_t result;
        // Send the node the contents of the invitation file
        rewind(f);
        size_t result;
-       while((result = fread(buf, 1, sizeof buf, f)))
+       while((result = fread(buf, 1, sizeof(buf), f)))
                sptps_send_record(&c->sptps, 0, buf, result);
        sptps_send_record(&c->sptps, 1, buf, 0);
        fclose(f);
                sptps_send_record(&c->sptps, 0, buf, result);
        sptps_send_record(&c->sptps, 1, buf, 0);
        fclose(f);
@@ -409,11 +409,11 @@ bool id_h(connection_t *c, const char *request) {
                char label[25 + strlen(myself->name) + strlen(c->name)];
 
                if(c->outgoing)
                char label[25 + strlen(myself->name) + strlen(c->name)];
 
                if(c->outgoing)
-                       snprintf(label, sizeof label, "tinc TCP key expansion %s %s", myself->name, c->name);
+                       snprintf(label, sizeof(label), "tinc TCP key expansion %s %s", myself->name, c->name);
                else
                else
-                       snprintf(label, sizeof label, "tinc TCP key expansion %s %s", c->name, myself->name);
+                       snprintf(label, sizeof(label), "tinc TCP key expansion %s %s", c->name, myself->name);
 
 
-               return sptps_start(&c->sptps, c, c->outgoing, false, myself->connection->ecdsa, c->ecdsa, label, sizeof label, send_meta_sptps, receive_meta_sptps);
+               return sptps_start(&c->sptps, c, c->outgoing, false, myself->connection->ecdsa, c->ecdsa, label, sizeof(label), send_meta_sptps, receive_meta_sptps);
        } else {
                return send_metakey(c);
        }
        } else {
                return send_metakey(c);
        }
@@ -528,7 +528,7 @@ bool metakey_h(connection_t *c, const char *request) {
 
        /* Convert the challenge from hexadecimal back to binary */
 
 
        /* Convert the challenge from hexadecimal back to binary */
 
-       int inlen = hex2bin(hexkey, enckey, sizeof enckey);
+       int inlen = hex2bin(hexkey, enckey, sizeof(enckey));
 
        /* Check if the length of the meta key is all right */
 
 
        /* Check if the length of the meta key is all right */
 
@@ -622,7 +622,7 @@ bool challenge_h(connection_t *c, const char *request) {
 
        /* Convert the challenge from hexadecimal back to binary */
 
 
        /* Convert the challenge from hexadecimal back to binary */
 
-       int inlen = hex2bin(buffer, buffer, sizeof buffer);
+       int inlen = hex2bin(buffer, buffer, sizeof(buffer));
 
        /* Check if the length of the challenge is all right */
 
 
        /* Check if the length of the challenge is all right */
 
@@ -662,7 +662,7 @@ bool chal_reply_h(connection_t *c, const char *request) {
 
        /* Convert the hash to binary format */
 
 
        /* Convert the hash to binary format */
 
-       int inlen = hex2bin(hishash, hishash, sizeof hishash);
+       int inlen = hex2bin(hishash, hishash, sizeof(hishash));
 
        /* Check if the length of the hash is all right */
 
 
        /* Check if the length of the hash is all right */
 
@@ -755,7 +755,7 @@ static void send_everything(connection_t *c) {
                        char pad[MAXBUFSIZE - MAXSIZE];
                } zeropkt;
 
                        char pad[MAXBUFSIZE - MAXSIZE];
                } zeropkt;
 
-               memset(&zeropkt, 0, sizeof zeropkt);
+               memset(&zeropkt, 0, sizeof(zeropkt));
                zeropkt.pkt.len = MAXBUFSIZE;
                send_tcppacket(c, &zeropkt.pkt);
        }
                zeropkt.pkt.len = MAXBUFSIZE;
                send_tcppacket(c, &zeropkt.pkt);
        }
@@ -895,7 +895,7 @@ bool ack_h(connection_t *c, const char *request) {
        sockaddrcpy(&c->edge->address, &c->address);
        sockaddr_setport(&c->edge->address, hisport);
        sockaddr_t local_sa;
        sockaddrcpy(&c->edge->address, &c->address);
        sockaddr_setport(&c->edge->address, hisport);
        sockaddr_t local_sa;
-       socklen_t local_salen = sizeof local_sa;
+       socklen_t local_salen = sizeof(local_sa);
        if (getsockname(c->socket, &local_sa.sa, &local_salen) < 0)
                logger(DEBUG_ALWAYS, LOG_WARNING, "Could not get local socket address for connection with %s", c->name);
        else {
        if (getsockname(c->socket, &local_sa.sa, &local_salen) < 0)
                logger(DEBUG_ALWAYS, LOG_WARNING, "Could not get local socket address for connection with %s", c->name);
        else {
index a18cefc..6e31b5e 100644 (file)
@@ -110,13 +110,13 @@ bool send_req_key(node_t *to) {
                }
 
                char label[25 + strlen(myself->name) + strlen(to->name)];
                }
 
                char label[25 + strlen(myself->name) + strlen(to->name)];
-               snprintf(label, sizeof label, "tinc UDP key expansion %s %s", myself->name, to->name);
+               snprintf(label, sizeof(label), "tinc UDP key expansion %s %s", myself->name, to->name);
                sptps_stop(&to->sptps);
                to->status.validkey = false;
                to->status.waitingforkey = true;
                to->last_req_key = now.tv_sec;
                to->incompression = myself->incompression;
                sptps_stop(&to->sptps);
                to->status.validkey = false;
                to->status.waitingforkey = true;
                to->last_req_key = now.tv_sec;
                to->incompression = myself->incompression;
-               return sptps_start(&to->sptps, to, true, true, myself->connection->ecdsa, to->ecdsa, label, sizeof label, send_initial_sptps_data, receive_sptps_record);
+               return sptps_start(&to->sptps, to, true, true, myself->connection->ecdsa, to->ecdsa, label, sizeof(label), send_initial_sptps_data, receive_sptps_record);
        }
 
        return send_request(to->nexthop->connection, "%d %s %s", REQ_KEY, myself->name, to->name);
        }
 
        return send_request(to->nexthop->connection, "%d %s %s", REQ_KEY, myself->name, to->name);
@@ -219,12 +219,12 @@ static bool req_key_ext_h(connection_t *c, const char *request, node_t *from, no
                        }
 
                        char label[25 + strlen(from->name) + strlen(myself->name)];
                        }
 
                        char label[25 + strlen(from->name) + strlen(myself->name)];
-                       snprintf(label, sizeof label, "tinc UDP key expansion %s %s", from->name, myself->name);
+                       snprintf(label, sizeof(label), "tinc UDP key expansion %s %s", from->name, myself->name);
                        sptps_stop(&from->sptps);
                        from->status.validkey = false;
                        from->status.waitingforkey = true;
                        from->last_req_key = now.tv_sec;
                        sptps_stop(&from->sptps);
                        from->status.validkey = false;
                        from->status.waitingforkey = true;
                        from->last_req_key = now.tv_sec;
-                       sptps_start(&from->sptps, from, false, true, myself->connection->ecdsa, from->ecdsa, label, sizeof label, send_sptps_data_myself, receive_sptps_record);
+                       sptps_start(&from->sptps, from, false, true, myself->connection->ecdsa, from->ecdsa, label, sizeof(label), send_sptps_data_myself, receive_sptps_record);
                        sptps_receive_data(&from->sptps, buf, len);
                        send_mtu_info(myself, from, MTU);
                        return true;
                        sptps_receive_data(&from->sptps, buf, len);
                        send_mtu_info(myself, from, MTU);
                        return true;
@@ -489,7 +489,7 @@ bool ans_key_h(connection_t *c, const char *request) {
 
        /* Process key */
 
 
        /* Process key */
 
-       int keylen = hex2bin(key, key, sizeof key);
+       int keylen = hex2bin(key, key, sizeof(key));
 
        if(keylen != (from->outcipher ? cipher_keylength(from->outcipher) : 1)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Node %s (%s) uses wrong keylength!", from->name, from->hostname);
 
        if(keylen != (from->outcipher ? cipher_keylength(from->outcipher) : 1)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Node %s (%s) uses wrong keylength!", from->name, from->hostname);
index 06dafbc..bc13c21 100644 (file)
@@ -35,7 +35,7 @@
 bool send_add_subnet(connection_t *c, const subnet_t *subnet) {
        char netstr[MAXNETSTR];
 
 bool send_add_subnet(connection_t *c, const subnet_t *subnet) {
        char netstr[MAXNETSTR];
 
-       if(!net2str(netstr, sizeof netstr, subnet))
+       if(!net2str(netstr, sizeof(netstr), subnet))
                return false;
 
        return send_request(c, "%d %x %s %s", ADD_SUBNET, rand(), subnet->owner->name, netstr);
                return false;
 
        return send_request(c, "%d %x %s %s", ADD_SUBNET, rand(), subnet->owner->name, netstr);
@@ -145,7 +145,7 @@ bool add_subnet_h(connection_t *c, const char *request) {
 bool send_del_subnet(connection_t *c, const subnet_t *s) {
        char netstr[MAXNETSTR];
 
 bool send_del_subnet(connection_t *c, const subnet_t *s) {
        char netstr[MAXNETSTR];
 
-       if(!net2str(netstr, sizeof netstr, s))
+       if(!net2str(netstr, sizeof(netstr), s))
                return false;
 
        return send_request(c, "%d %x %s %s", DEL_SUBNET, rand(), s->owner->name, netstr);
                return false;
 
        return send_request(c, "%d %x %s %s", DEL_SUBNET, rand(), s->owner->name, netstr);
index eb38be2..18fbdde 100644 (file)
@@ -53,7 +53,7 @@ static bool setup_device(void) {
                return false;
        }
 
                return false;
        }
 
-       memset(&ifr, 0, sizeof ifr);
+       memset(&ifr, 0, sizeof(ifr));
 
 #ifdef FD_CLOEXEC
        fcntl(device_fd, F_SETFD, FD_CLOEXEC);
 
 #ifdef FD_CLOEXEC
        fcntl(device_fd, F_SETFD, FD_CLOEXEC);
@@ -67,12 +67,12 @@ static bool setup_device(void) {
                return false;
        }
 
                return false;
        }
 
-       memset(&sa, '0', sizeof sa);
+       memset(&sa, '0', sizeof(sa));
        sa.sll_family = AF_PACKET;
        sa.sll_protocol = htons(ETH_P_ALL);
        sa.sll_ifindex = ifr.ifr_ifindex;
 
        sa.sll_family = AF_PACKET;
        sa.sll_protocol = htons(ETH_P_ALL);
        sa.sll_ifindex = ifr.ifr_ifindex;
 
-       if(bind(device_fd, (struct sockaddr *) &sa, (socklen_t) sizeof sa)) {
+       if(bind(device_fd, (struct sockaddr *) &sa, (socklen_t) sizeof(sa))) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind %s to %s: %s", device, iface, strerror(errno));
                return false;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind %s to %s: %s", device, iface, strerror(errno));
                return false;
        }
index 7ae4960..05dc4f4 100644 (file)
@@ -107,9 +107,9 @@ static bool checklength(node_t *source, vpn_packet_t *packet, length_t length) {
 
 static void swap_mac_addresses(vpn_packet_t *packet) {
        mac_t tmp;
 
 static void swap_mac_addresses(vpn_packet_t *packet) {
        mac_t tmp;
-       memcpy(&tmp, &DATA(packet)[0], sizeof tmp);
-       memcpy(&DATA(packet)[0], &DATA(packet)[6], sizeof tmp);
-       memcpy(&DATA(packet)[6], &tmp, sizeof tmp);
+       memcpy(&tmp, &DATA(packet)[0], sizeof(tmp));
+       memcpy(&DATA(packet)[0], &DATA(packet)[6], sizeof(tmp));
+       memcpy(&DATA(packet)[6], &tmp, sizeof(tmp));
 }
 
 /* RFC 792 */
 }
 
 /* RFC 792 */
@@ -291,7 +291,7 @@ static void route_ipv6_unreachable(node_t *source, vpn_packet_t *packet, length_
 
        /* Generate checksum */
 
 
        /* Generate checksum */
 
-       checksum = inet_checksum(&pseudo, sizeof pseudo, ~0);
+       checksum = inet_checksum(&pseudo, sizeof(pseudo), ~0);
        checksum = inet_checksum(&icmp6, icmp6_size, checksum);
        checksum = inet_checksum(DATA(packet) + ether_size + ip6_size + icmp6_size, ntohl(pseudo.length) - icmp6_size, checksum);
 
        checksum = inet_checksum(&icmp6, icmp6_size, checksum);
        checksum = inet_checksum(DATA(packet) + ether_size + ip6_size + icmp6_size, ntohl(pseudo.length) - icmp6_size, checksum);
 
@@ -447,7 +447,7 @@ static void age_subnets(void *data) {
                if(s->expires && s->expires < now.tv_sec) {
                        if(debug_level >= DEBUG_TRAFFIC) {
                                char netstr[MAXNETSTR];
                if(s->expires && s->expires < now.tv_sec) {
                        if(debug_level >= DEBUG_TRAFFIC) {
                                char netstr[MAXNETSTR];
-                               if(net2str(netstr, sizeof netstr, s))
+                               if(net2str(netstr, sizeof(netstr), s))
                                        logger(DEBUG_TRAFFIC, LOG_INFO, "Subnet %s expired", netstr);
                        }
 
                                        logger(DEBUG_TRAFFIC, LOG_INFO, "Subnet %s expired", netstr);
                        }
 
@@ -564,7 +564,7 @@ static void route_ipv4(node_t *source, vpn_packet_t *packet) {
        node_t *via;
        ipv4_t dest;
 
        node_t *via;
        ipv4_t dest;
 
-       memcpy(&dest, &DATA(packet)[30], sizeof dest);
+       memcpy(&dest, &DATA(packet)[30], sizeof(dest));
        subnet = lookup_subnet_ipv4(&dest);
 
        if(!subnet) {
        subnet = lookup_subnet_ipv4(&dest);
 
        if(!subnet) {
@@ -644,7 +644,7 @@ static void route_ipv6(node_t *source, vpn_packet_t *packet) {
        node_t *via;
        ipv6_t dest;
 
        node_t *via;
        ipv6_t dest;
 
-       memcpy(&dest, &DATA(packet)[38], sizeof dest);
+       memcpy(&dest, &DATA(packet)[38], sizeof(dest));
        subnet = lookup_subnet_ipv6(&dest);
 
        if(!subnet) {
        subnet = lookup_subnet_ipv6(&dest);
 
        if(!subnet) {
@@ -767,7 +767,7 @@ static void route_neighborsol(node_t *source, vpn_packet_t *packet) {
 
        /* Generate checksum */
 
 
        /* Generate checksum */
 
-       checksum = inet_checksum(&pseudo, sizeof pseudo, ~0);
+       checksum = inet_checksum(&pseudo, sizeof(pseudo), ~0);
        checksum = inet_checksum(&ns, ns_size, checksum);
        if(has_opt) {
                checksum = inet_checksum(&opt, opt_size, checksum);
        checksum = inet_checksum(&ns, ns_size, checksum);
        if(has_opt) {
                checksum = inet_checksum(&opt, opt_size, checksum);
@@ -834,7 +834,7 @@ static void route_neighborsol(node_t *source, vpn_packet_t *packet) {
 
        /* Generate checksum */
 
 
        /* Generate checksum */
 
-       checksum = inet_checksum(&pseudo, sizeof pseudo, ~0);
+       checksum = inet_checksum(&pseudo, sizeof(pseudo), ~0);
        checksum = inet_checksum(&ns, ns_size, checksum);
        if(has_opt) {
                checksum = inet_checksum(&opt, opt_size, checksum);
        checksum = inet_checksum(&ns, ns_size, checksum);
        if(has_opt) {
                checksum = inet_checksum(&opt, opt_size, checksum);
@@ -880,7 +880,7 @@ static void route_arp(node_t *source, vpn_packet_t *packet) {
        /* Check if this is a valid ARP request */
 
        if(ntohs(arp.arp_hrd) != ARPHRD_ETHER || ntohs(arp.arp_pro) != ETH_P_IP ||
        /* Check if this is a valid ARP request */
 
        if(ntohs(arp.arp_hrd) != ARPHRD_ETHER || ntohs(arp.arp_pro) != ETH_P_IP ||
-          arp.arp_hln != ETH_ALEN || arp.arp_pln != sizeof addr || ntohs(arp.arp_op) != ARPOP_REQUEST) {
+          arp.arp_hln != ETH_ALEN || arp.arp_pln != sizeof(addr) || ntohs(arp.arp_op) != ARPOP_REQUEST) {
                logger(DEBUG_TRAFFIC, LOG_WARNING, "Cannot route packet: received unknown type ARP request");
                return;
        }
                logger(DEBUG_TRAFFIC, LOG_WARNING, "Cannot route packet: received unknown type ARP request");
                return;
        }
@@ -905,9 +905,9 @@ static void route_arp(node_t *source, vpn_packet_t *packet) {
                if(!do_decrement_ttl(source, packet))
                        return;
 
                if(!do_decrement_ttl(source, packet))
                        return;
 
-       memcpy(&addr, arp.arp_tpa, sizeof addr);                 /* save protocol addr */
-       memcpy(arp.arp_tpa, arp.arp_spa, sizeof addr);           /* swap destination and source protocol address */
-       memcpy(arp.arp_spa, &addr, sizeof addr);                 /* ... */
+       memcpy(&addr, arp.arp_tpa, sizeof(addr));                 /* save protocol addr */
+       memcpy(arp.arp_tpa, arp.arp_spa, sizeof(addr));           /* swap destination and source protocol address */
+       memcpy(arp.arp_spa, &addr, sizeof(addr));                 /* ... */
 
        memcpy(arp.arp_tha, arp.arp_sha, ETH_ALEN);              /* set target hard/proto addr */
        memcpy(arp.arp_sha, DATA(packet) + ETH_ALEN, ETH_ALEN);  /* set source hard/proto addr */
 
        memcpy(arp.arp_tha, arp.arp_sha, ETH_ALEN);              /* set target hard/proto addr */
        memcpy(arp.arp_sha, DATA(packet) + ETH_ALEN, ETH_ALEN);  /* set source hard/proto addr */
@@ -929,13 +929,13 @@ static void route_mac(node_t *source, vpn_packet_t *packet) {
 
        if(source == myself) {
                mac_t src;
 
        if(source == myself) {
                mac_t src;
-               memcpy(&src, &DATA(packet)[6], sizeof src);
+               memcpy(&src, &DATA(packet)[6], sizeof(src));
                learn_mac(&src);
        }
 
        /* Lookup destination address */
 
                learn_mac(&src);
        }
 
        /* Lookup destination address */
 
-       memcpy(&dest, &DATA(packet)[0], sizeof dest);
+       memcpy(&dest, &DATA(packet)[0], sizeof(dest));
        subnet = lookup_subnet_mac(NULL, &dest);
 
        if(!subnet || !subnet->owner) {
        subnet = lookup_subnet_mac(NULL, &dest);
 
        if(!subnet || !subnet->owner) {
index d65551a..80c58c0 100644 (file)
@@ -69,7 +69,7 @@ static const int min_env_size = 10;
 int environment_add(environment_t *env, const char *format, ...) {
        if(env->n >= env->size) {
                env->size = env->n ? env->n * 2 : min_env_size;
 int environment_add(environment_t *env, const char *format, ...) {
        if(env->n >= env->size) {
                env->size = env->n ? env->n * 2 : min_env_size;
-               env->entries = xrealloc(env->entries, env->size * sizeof *env->entries);
+               env->entries = xrealloc(env->entries, env->size * sizeof(*env->entries));
        }
 
        if(format) {
        }
 
        if(format) {
@@ -95,7 +95,7 @@ void environment_update(environment_t *env, int pos, const char *format, ...) {
 void environment_init(environment_t *env) {
        env->n = 0;
        env->size = min_env_size;
 void environment_init(environment_t *env) {
        env->n = 0;
        env->size = min_env_size;
-       env->entries = xzalloc(env->size * sizeof *env->entries);
+       env->entries = xzalloc(env->size * sizeof(*env->entries));
 
        if(netname)
                environment_add(env, "NETNAME=%s", netname);
 
        if(netname)
                environment_add(env, "NETNAME=%s", netname);
@@ -119,7 +119,7 @@ bool execute_script(const char *name, environment_t *env) {
        char scriptname[PATH_MAX];
        char *command;
 
        char scriptname[PATH_MAX];
        char *command;
 
-       snprintf(scriptname, sizeof scriptname, "%s" SLASH "%s%s", confbase, name, scriptextension);
+       snprintf(scriptname, sizeof(scriptname), "%s" SLASH "%s%s", confbase, name, scriptextension);
 
        /* First check if there is a script */
 
 
        /* First check if there is a script */
 
@@ -130,7 +130,7 @@ bool execute_script(const char *name, environment_t *env) {
                size_t scriptlen = strlen(scriptname);
                char fullname[scriptlen + pathlen + 1];
                char *ext = fullname + scriptlen;
                size_t scriptlen = strlen(scriptname);
                char fullname[scriptlen + pathlen + 1];
                char *ext = fullname + scriptlen;
-               strncpy(fullname, scriptname, sizeof fullname);
+               strncpy(fullname, scriptname, sizeof(fullname));
 
                const char *p = pathext;
                bool found = false;
 
                const char *p = pathext;
                bool found = false;
index 89481c7..7ca2e7e 100644 (file)
@@ -109,7 +109,7 @@ static bool setup_device(void) {
 
        struct strioctl strioc_ppa = {
                .ic_cmd = TUNNEWPPA,
 
        struct strioctl strioc_ppa = {
                .ic_cmd = TUNNEWPPA,
-               .ic_len = sizeof ppa,
+               .ic_len = sizeof(ppa),
                .ic_dp = (char *)&ppa,
        };
 
                .ic_dp = (char *)&ppa,
        };
 
@@ -151,7 +151,7 @@ static bool setup_device(void) {
        {
                /* Remove muxes just in case they are left over from a crashed tincd */
                struct lifreq ifr = {};
        {
                /* Remove muxes just in case they are left over from a crashed tincd */
                struct lifreq ifr = {};
-               strncpy(ifr.lifr_name, iface, sizeof ifr.lifr_name);
+               strncpy(ifr.lifr_name, iface, sizeof(ifr.lifr_name));
                if(ioctl(ip_fd, SIOCGLIFMUXID, &ifr) >= 0) {
                        int muxid = ifr.lifr_arp_muxid;
                        ioctl(ip_fd, I_PUNLINK, muxid);
                if(ioctl(ip_fd, SIOCGLIFMUXID, &ifr) >= 0) {
                        int muxid = ifr.lifr_arp_muxid;
                        ioctl(ip_fd, I_PUNLINK, muxid);
@@ -224,7 +224,7 @@ static bool setup_device(void) {
                /* Set ifname to arp */
                struct strioctl strioc_if = {
                        .ic_cmd = SIOCSLIFNAME,
                /* Set ifname to arp */
                struct strioctl strioc_if = {
                        .ic_cmd = SIOCSLIFNAME,
-                       .ic_len = sizeof ifr,
+                       .ic_len = sizeof(ifr),
                        .ic_dp = (char *)&ifr,
                };
 
                        .ic_dp = (char *)&ifr,
                };
 
@@ -280,7 +280,7 @@ static bool setup_device(void) {
 static void close_device(void) {
        if(iface) {
                struct lifreq ifr = {};
 static void close_device(void) {
        if(iface) {
                struct lifreq ifr = {};
-               strncpy(ifr.lifr_name, iface, sizeof ifr.lifr_name);
+               strncpy(ifr.lifr_name, iface, sizeof(ifr.lifr_name));
                if(ioctl(ip_fd, SIOCGLIFMUXID, &ifr) >= 0) {
                        int muxid = ifr.lifr_arp_muxid;
                        ioctl(ip_fd, I_PUNLINK, muxid);
                if(ioctl(ip_fd, SIOCGLIFMUXID, &ifr) >= 0) {
                        int muxid = ifr.lifr_arp_muxid;
                        ioctl(ip_fd, I_PUNLINK, muxid);
index a1fd5e7..2d02b66 100644 (file)
@@ -178,11 +178,11 @@ static bool send_sig(sptps_t *s) {
        memcpy(msg + 1 + 2 * (33 + keylen), s->label, s->labellen);
 
        // Sign the result.
        memcpy(msg + 1 + 2 * (33 + keylen), s->label, s->labellen);
 
        // Sign the result.
-       if(!ecdsa_sign(s->mykey, msg, sizeof msg, sig))
+       if(!ecdsa_sign(s->mykey, msg, sizeof(msg), sig))
                return error(s, EINVAL, "Failed to sign SIG record");
 
        // Send the SIG exchange record.
                return error(s, EINVAL, "Failed to sign SIG record");
 
        // Send the SIG exchange record.
-       return send_record_priv(s, SPTPS_HANDSHAKE, sig, sizeof sig);
+       return send_record_priv(s, SPTPS_HANDSHAKE, sig, sizeof(sig));
 }
 
 // Generate key material from the shared secret created from the ECDHE key exchange.
 }
 
 // Generate key material from the shared secret created from the ECDHE key exchange.
@@ -284,7 +284,7 @@ static bool receive_sig(sptps_t *s, const char *data, uint16_t len) {
        memcpy(msg + 1 + 2 * (33 + keylen), s->label, s->labellen);
 
        // Verify signature.
        memcpy(msg + 1 + 2 * (33 + keylen), s->label, s->labellen);
 
        // Verify signature.
-       if(!ecdsa_verify(s->hiskey, msg, sizeof msg, data))
+       if(!ecdsa_verify(s->hiskey, msg, sizeof(msg), data))
                return error(s, EIO, "Failed to verify SIG record");
 
        // Compute shared secret.
                return error(s, EIO, "Failed to verify SIG record");
 
        // Compute shared secret.
@@ -294,7 +294,7 @@ static bool receive_sig(sptps_t *s, const char *data, uint16_t len) {
        s->ecdh = NULL;
 
        // Generate key material from shared secret.
        s->ecdh = NULL;
 
        // Generate key material from shared secret.
-       if(!generate_key_material(s, shared, sizeof shared))
+       if(!generate_key_material(s, shared, sizeof(shared)))
                return false;
 
        free(s->mykex);
                return false;
 
        free(s->mykex);
@@ -587,7 +587,7 @@ size_t sptps_receive_data(sptps_t *s, const void *data, size_t len) {
 // Start a SPTPS session.
 bool sptps_start(sptps_t *s, void *handle, bool initiator, bool datagram, ecdsa_t *mykey, ecdsa_t *hiskey, const void *label, size_t labellen, send_data_t send_data, receive_record_t receive_record) {
        // Initialise struct sptps
 // Start a SPTPS session.
 bool sptps_start(sptps_t *s, void *handle, bool initiator, bool datagram, ecdsa_t *mykey, ecdsa_t *hiskey, const void *label, size_t labellen, send_data_t send_data, receive_record_t receive_record) {
        // Initialise struct sptps
-       memset(s, 0, sizeof *s);
+       memset(s, 0, sizeof(*s));
 
        s->handle = handle;
        s->initiator = initiator;
 
        s->handle = handle;
        s->initiator = initiator;
@@ -636,6 +636,6 @@ bool sptps_stop(sptps_t *s) {
        free(s->key);
        free(s->label);
        free(s->late);
        free(s->key);
        free(s->label);
        free(s->late);
-       memset(s, 0, sizeof *s);
+       memset(s, 0, sizeof(*s));
        return true;
 }
        return true;
 }
index bde3d69..ef97be7 100644 (file)
@@ -49,7 +49,7 @@ static bool receive_record(void *handle, uint8_t type, const void *data, uint16_
 static void receive_data(sptps_t *sptps) {
        char buf[4096], *bufp = buf;
        int fd = *(int *)sptps->handle;
 static void receive_data(sptps_t *sptps) {
        char buf[4096], *bufp = buf;
        int fd = *(int *)sptps->handle;
-       size_t len = recv(fd, buf, sizeof buf, 0);
+       size_t len = recv(fd, buf, sizeof(buf), 0);
        while(len) {
                size_t done = sptps_receive_data(sptps, bufp, len);
                if(!done)
        while(len) {
                size_t done = sptps_receive_data(sptps, bufp, len);
                if(!done)
@@ -89,9 +89,9 @@ int main(int argc, char *argv[]) {
 
        crypto_init();
 
 
        crypto_init();
 
-       randomize(buf1, sizeof buf1);
-       randomize(buf2, sizeof buf2);
-       randomize(buf3, sizeof buf3);
+       randomize(buf1, sizeof(buf1));
+       randomize(buf2, sizeof(buf2));
+       randomize(buf3, sizeof(buf3));
 
        // Key generation
 
 
        // Key generation
 
index 8df1046..e7dcea2 100644 (file)
@@ -221,7 +221,7 @@ int main(int argc, char *argv[]) {
 #endif
 
        struct addrinfo *ai, hint;
 #endif
 
        struct addrinfo *ai, hint;
-       memset(&hint, 0, sizeof hint);
+       memset(&hint, 0, sizeof(hint));
 
        hint.ai_family = addressfamily;
        hint.ai_socktype = datagram ? SOCK_DGRAM : SOCK_STREAM;
 
        hint.ai_family = addressfamily;
        hint.ai_socktype = datagram ? SOCK_DGRAM : SOCK_STREAM;
@@ -240,7 +240,7 @@ int main(int argc, char *argv[]) {
        }
 
        int one = 1;
        }
 
        int one = 1;
-       setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof one);
+       setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(one));
 
        if(initiator) {
                if(connect(sock, ai->ai_addr, ai->ai_addrlen)) {
 
        if(initiator) {
                if(connect(sock, ai->ai_addr, ai->ai_addrlen)) {
@@ -271,9 +271,9 @@ int main(int argc, char *argv[]) {
 
                        char buf[65536];
                        struct sockaddr addr;
 
                        char buf[65536];
                        struct sockaddr addr;
-                       socklen_t addrlen = sizeof addr;
+                       socklen_t addrlen = sizeof(addr);
 
 
-                       if(recvfrom(sock, buf, sizeof buf, MSG_PEEK, &addr, &addrlen) <= 0) {
+                       if(recvfrom(sock, buf, sizeof(buf), MSG_PEEK, &addr, &addrlen) <= 0) {
                                fprintf(stderr, "Could not read from socket: %s\n", sockstrerror(sockerrno));
                                return 1;
                        }
                                fprintf(stderr, "Could not read from socket: %s\n", sockstrerror(sockerrno));
                                return 1;
                        }
@@ -331,7 +331,7 @@ int main(int argc, char *argv[]) {
                        return 1;
 
                if(FD_ISSET(in, &fds)) {
                        return 1;
 
                if(FD_ISSET(in, &fds)) {
-                       ssize_t len = read(in, buf, sizeof buf);
+                       ssize_t len = read(in, buf, sizeof(buf));
                        if(len < 0) {
                                fprintf(stderr, "Could not read from stdin: %s\n", strerror(errno));
                                return 1;
                        if(len < 0) {
                                fprintf(stderr, "Could not read from stdin: %s\n", strerror(errno));
                                return 1;
@@ -351,12 +351,12 @@ int main(int argc, char *argv[]) {
                                if(len > 1)
                                        sptps_send_record(&s, 0, buf, len);
                        } else
                                if(len > 1)
                                        sptps_send_record(&s, 0, buf, len);
                        } else
-                       if(!sptps_send_record(&s, buf[0] == '!' ? 1 : 0, buf, (len == 1 && buf[0] == '\n') ? 0 : buf[0] == '*' ? sizeof buf : len))
+                       if(!sptps_send_record(&s, buf[0] == '!' ? 1 : 0, buf, (len == 1 && buf[0] == '\n') ? 0 : buf[0] == '*' ? sizeof(buf) : len))
                                return 1;
                }
 
                if(FD_ISSET(sock, &fds)) {
                                return 1;
                }
 
                if(FD_ISSET(sock, &fds)) {
-                       ssize_t len = recv(sock, buf, sizeof buf, 0);
+                       ssize_t len = recv(sock, buf, sizeof(buf), 0);
                        if(len < 0) {
                                fprintf(stderr, "Could not read from socket: %s\n", sockstrerror(sockerrno));
                                return 1;
                        if(len < 0) {
                                fprintf(stderr, "Could not read from socket: %s\n", sockstrerror(sockerrno));
                                return 1;
index 3d055b6..e72cdaa 100644 (file)
@@ -126,7 +126,7 @@ subnet_t *lookup_subnet_mac(const node_t *owner, const mac_t *address) {
                if(!p || p->type != SUBNET_MAC)
                        continue;
 
                if(!p || p->type != SUBNET_MAC)
                        continue;
 
-               if(!memcmp(address, &p->net.mac.address, sizeof *address)) {
+               if(!memcmp(address, &p->net.mac.address, sizeof(*address))) {
                        r = p;
                        if(!p->owner || p->owner->status.reachable)
                                break;
                        r = p;
                        if(!p->owner || p->owner->status.reachable)
                                break;
@@ -225,7 +225,7 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
 
        if(!subnet) {
                for splay_each(subnet_t, subnet, owner->subnet_tree) {
 
        if(!subnet) {
                for splay_each(subnet_t, subnet, owner->subnet_tree) {
-                       if(!net2str(netstr, sizeof netstr, subnet))
+                       if(!net2str(netstr, sizeof(netstr), subnet))
                                continue;
 
                        // Strip the weight from the subnet, and put it in its own environment variable
                                continue;
 
                        // Strip the weight from the subnet, and put it in its own environment variable
@@ -242,7 +242,7 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
                        execute_script(name, &env);
                }
        } else {
                        execute_script(name, &env);
                }
        } else {
-               if(net2str(netstr, sizeof netstr, subnet)) {
+               if(net2str(netstr, sizeof(netstr), subnet)) {
                        // Strip the weight from the subnet, and put it in its own environment variable
                        char *weight = strchr(netstr, '#');
                        if(weight)
                        // Strip the weight from the subnet, and put it in its own environment variable
                        char *weight = strchr(netstr, '#');
                        if(weight)
@@ -265,7 +265,7 @@ bool dump_subnets(connection_t *c) {
        for splay_each(subnet_t, subnet, subnet_tree) {
                char netstr[MAXNETSTR];
 
        for splay_each(subnet_t, subnet, subnet_tree) {
                char netstr[MAXNETSTR];
 
-               if(!net2str(netstr, sizeof netstr, subnet))
+               if(!net2str(netstr, sizeof(netstr), subnet))
                        continue;
 
                send_request(c, "%d %d %s %s",
                        continue;
 
                send_request(c, "%d %d %s %s",
index c5f6976..ca17dce 100644 (file)
@@ -103,7 +103,7 @@ bool maskcheck(const void *va, int masklen, int len) {
 static int subnet_compare_mac(const subnet_t *a, const subnet_t *b) {
        int result;
 
 static int subnet_compare_mac(const subnet_t *a, const subnet_t *b) {
        int result;
 
-       result = memcmp(&a->net.mac.address, &b->net.mac.address, sizeof a->net.mac.address);
+       result = memcmp(&a->net.mac.address, &b->net.mac.address, sizeof(a->net.mac.address));
 
        if(result)
                return result;
 
        if(result)
                return result;
@@ -186,7 +186,7 @@ int subnet_compare(const subnet_t *a, const subnet_t *b) {
 bool str2net(subnet_t *subnet, const char *subnetstr) {
        char str[1024];
        strncpy(str, subnetstr, sizeof(str));
 bool str2net(subnet_t *subnet, const char *subnetstr) {
        char str[1024];
        strncpy(str, subnetstr, sizeof(str));
-       str[sizeof str - 1] = 0;
+       str[sizeof(str) - 1] = 0;
        int consumed;
 
        int weight = DEFAULT_WEIGHT;
        int consumed;
 
        int weight = DEFAULT_WEIGHT;
@@ -256,7 +256,7 @@ bool str2net(subnet_t *subnet, const char *subnetstr) {
                for (int i = 0; i < 4; i++)
                        if (x[i] > 255)
                                return false;
                for (int i = 0; i < 4; i++)
                        if (x[i] > 255)
                                return false;
-               snprintf(last_colon, sizeof str - (last_colon - str), ":%02x%02x:%02x%02x", x[0], x[1], x[2], x[3]);
+               snprintf(last_colon, sizeof(str) - (last_colon - str), ":%02x%02x:%02x%02x", x[0], x[1], x[2], x[3]);
        }
 
        char* double_colon = strstr(str, "::");
        }
 
        char* double_colon = strstr(str, "::");
index 766b769..5dd6410 100644 (file)
@@ -264,13 +264,13 @@ static void disable_old_keys(const char *filename, const char *what) {
        if(!r)
                return;
 
        if(!r)
                return;
 
-       snprintf(tmpfile, sizeof tmpfile, "%s.tmp", filename);
+       snprintf(tmpfile, sizeof(tmpfile), "%s.tmp", filename);
 
        struct stat st = {.st_mode = 0600};
        fstat(fileno(r), &st);
        w = fopenmask(tmpfile, "w", st.st_mode);
 
 
        struct stat st = {.st_mode = 0600};
        fstat(fileno(r), &st);
        w = fopenmask(tmpfile, "w", st.st_mode);
 
-       while(fgets(buf, sizeof buf, r)) {
+       while(fgets(buf, sizeof(buf), r)) {
                if(!block && !strncmp(buf, "-----BEGIN ", 11)) {
                        if((strstr(buf, " ED25519 ") && strstr(what, "Ed25519")) || (strstr(buf, " RSA ") && strstr(what, "RSA"))) {
                                disabled = true;
                if(!block && !strncmp(buf, "-----BEGIN ", 11)) {
                        if((strstr(buf, " ED25519 ") && strstr(what, "Ed25519")) || (strstr(buf, " RSA ") && strstr(what, "RSA"))) {
                                disabled = true;
@@ -313,7 +313,7 @@ static void disable_old_keys(const char *filename, const char *what) {
 #ifdef HAVE_MINGW
                // We cannot atomically replace files on Windows.
                char bakfile[PATH_MAX] = "";
 #ifdef HAVE_MINGW
                // We cannot atomically replace files on Windows.
                char bakfile[PATH_MAX] = "";
-               snprintf(bakfile, sizeof bakfile, "%s.bak", filename);
+               snprintf(bakfile, sizeof(bakfile), "%s.bak", filename);
                if(rename(filename, bakfile) || rename(tmpfile, filename)) {
                        rename(bakfile, filename);
 #else
                if(rename(filename, bakfile) || rename(tmpfile, filename)) {
                        rename(bakfile, filename);
 #else
@@ -342,7 +342,7 @@ static FILE *ask_and_open(const char *filename, const char *what, const char *mo
                /* Ask for a file and/or directory name. */
                fprintf(stderr, "Please enter a file to save %s to [%s]: ", what, filename);
 
                /* Ask for a file and/or directory name. */
                fprintf(stderr, "Please enter a file to save %s to [%s]: ", what, filename);
 
-               if(fgets(buf, sizeof buf, stdin) == NULL) {
+               if(fgets(buf, sizeof(buf), stdin) == NULL) {
                        fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                        return NULL;
                }
                        fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                        return NULL;
                }
@@ -361,8 +361,8 @@ static FILE *ask_and_open(const char *filename, const char *what, const char *mo
        if(filename[0] != '/') {
 #endif
                /* The directory is a relative path or a filename. */
        if(filename[0] != '/') {
 #endif
                /* The directory is a relative path or a filename. */
-               getcwd(directory, sizeof directory);
-               snprintf(buf2, sizeof buf2, "%s" SLASH "%s", directory, filename);
+               getcwd(directory, sizeof(directory));
+               snprintf(buf2, sizeof(buf2), "%s" SLASH "%s", directory, filename);
                filename = buf2;
        }
 
                filename = buf2;
        }
 
@@ -397,7 +397,7 @@ static bool ed25519_keygen(bool ask) {
        } else
                fprintf(stderr, "Done.\n");
 
        } else
                fprintf(stderr, "Done.\n");
 
-       snprintf(fname, sizeof fname, "%s" SLASH "ed25519_key.priv", confbase);
+       snprintf(fname, sizeof(fname), "%s" SLASH "ed25519_key.priv", confbase);
        f = ask_and_open(fname, "private Ed25519 key", "a", ask, 0600);
 
        if(!f)
        f = ask_and_open(fname, "private Ed25519 key", "a", ask, 0600);
 
        if(!f)
@@ -411,9 +411,9 @@ static bool ed25519_keygen(bool ask) {
        fclose(f);
 
        if(name)
        fclose(f);
 
        if(name)
-               snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, name);
+               snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, name);
        else
        else
-               snprintf(fname, sizeof fname, "%s" SLASH "ed25519_key.pub", confbase);
+               snprintf(fname, sizeof(fname), "%s" SLASH "ed25519_key.pub", confbase);
 
        f = ask_and_open(fname, "public Ed25519 key", "a", ask, 0666);
 
 
        f = ask_and_open(fname, "public Ed25519 key", "a", ask, 0666);
 
@@ -465,7 +465,7 @@ static bool rsa_keygen(int bits, bool ask) {
        } else
                fprintf(stderr, "Done.\n");
 
        } else
                fprintf(stderr, "Done.\n");
 
-       snprintf(fname, sizeof fname, "%s" SLASH "rsa_key.priv", confbase);
+       snprintf(fname, sizeof(fname), "%s" SLASH "rsa_key.priv", confbase);
        f = ask_and_open(fname, "private RSA key", "a", ask, 0600);
 
        if(!f)
        f = ask_and_open(fname, "private RSA key", "a", ask, 0600);
 
        if(!f)
@@ -479,9 +479,9 @@ static bool rsa_keygen(int bits, bool ask) {
        fclose(f);
 
        if(name)
        fclose(f);
 
        if(name)
-               snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, name);
+               snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, name);
        else
        else
-               snprintf(fname, sizeof fname, "%s" SLASH "rsa_key.pub", confbase);
+               snprintf(fname, sizeof(fname), "%s" SLASH "rsa_key.pub", confbase);
 
        f = ask_and_open(fname, "public RSA key", "a", ask, 0666);
 
 
        f = ask_and_open(fname, "public RSA key", "a", ask, 0666);
 
@@ -516,7 +516,7 @@ bool recvline(int fd, char *line, size_t len) {
                return false;
 
        while(!(newline = memchr(buffer, '\n', blen))) {
                return false;
 
        while(!(newline = memchr(buffer, '\n', blen))) {
-               int result = recv(fd, buffer + blen, sizeof buffer - blen, 0);
+               int result = recv(fd, buffer + blen, sizeof(buffer) - blen, 0);
                if(result == -1 && sockerrno == EINTR)
                        continue;
                else if(result <= 0)
                if(result == -1 && sockerrno == EINTR)
                        continue;
                else if(result <= 0)
@@ -542,7 +542,7 @@ bool recvdata(int fd, char *data, size_t len) {
                len = blen;
 
        while(blen < len) {
                len = blen;
 
        while(blen < len) {
-               int result = recv(fd, buffer + blen, sizeof buffer - blen, 0);
+               int result = recv(fd, buffer + blen, sizeof(buffer) - blen, 0);
                if(result == -1 && sockerrno == EINTR)
                        continue;
                else if(result <= 0)
                if(result == -1 && sockerrno == EINTR)
                        continue;
                else if(result <= 0)
@@ -564,11 +564,11 @@ bool sendline(int fd, char *format, ...) {
        va_list ap;
 
        va_start(ap, format);
        va_list ap;
 
        va_start(ap, format);
-       blen = vsnprintf(buffer, sizeof buffer, format, ap);
-       buffer[sizeof buffer - 1] = 0;
+       blen = vsnprintf(buffer, sizeof(buffer), format, ap);
+       buffer[sizeof(buffer) - 1] = 0;
        va_end(ap);
 
        va_end(ap);
 
-       if(blen < 1 || blen >= sizeof buffer)
+       if(blen < 1 || blen >= sizeof(buffer))
                return false;
 
        buffer[blen] = '\n';
                return false;
 
        buffer[blen] = '\n';
@@ -603,7 +603,7 @@ static void pcap(int fd, FILE *out, int snaplen) {
                0xa1b2c3d4,
                2, 4,
                0, 0,
                0xa1b2c3d4,
                2, 4,
                0, 0,
-               snaplen ?: sizeof data,
+               snaplen ?: sizeof(data),
                1,
        };
 
                1,
        };
 
@@ -616,15 +616,15 @@ static void pcap(int fd, FILE *out, int snaplen) {
 
        struct timeval tv;
 
 
        struct timeval tv;
 
-       fwrite(&header, sizeof header, 1, out);
+       fwrite(&header, sizeof(header), 1, out);
        fflush(out);
 
        char line[32];
        fflush(out);
 
        char line[32];
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int code, req, len;
                int n = sscanf(line, "%d %d %d", &code, &req, &len);
                gettimeofday(&tv, NULL);
                int code, req, len;
                int n = sscanf(line, "%d %d %d", &code, &req, &len);
                gettimeofday(&tv, NULL);
-               if(n != 3 || code != CONTROL || req != REQ_PCAP || len < 0 || len > sizeof data)
+               if(n != 3 || code != CONTROL || req != REQ_PCAP || len < 0 || len > sizeof(data))
                        break;
                if(!recvdata(fd, data, len))
                        break;
                        break;
                if(!recvdata(fd, data, len))
                        break;
@@ -632,7 +632,7 @@ static void pcap(int fd, FILE *out, int snaplen) {
                packet.tv_usec = tv.tv_usec;
                packet.len = len;
                packet.origlen = len;
                packet.tv_usec = tv.tv_usec;
                packet.len = len;
                packet.origlen = len;
-               fwrite(&packet, sizeof packet, 1, out);
+               fwrite(&packet, sizeof(packet), 1, out);
                fwrite(data, len, 1, out);
                fflush(out);
        }
                fwrite(data, len, 1, out);
                fflush(out);
        }
@@ -643,10 +643,10 @@ static void logcontrol(int fd, FILE *out, int level) {
        char data[1024];
        char line[32];
 
        char data[1024];
        char line[32];
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int code, req, len;
                int n = sscanf(line, "%d %d %d", &code, &req, &len);
                int code, req, len;
                int n = sscanf(line, "%d %d %d", &code, &req, &len);
-               if(n != 3 || code != CONTROL || req != REQ_LOG || len < 0 || len > sizeof data)
+               if(n != 3 || code != CONTROL || req != REQ_LOG || len < 0 || len > sizeof(data))
                        break;
                if(!recvdata(fd, data, len))
                        break;
                        break;
                if(!recvdata(fd, data, len))
                        break;
@@ -736,7 +736,7 @@ bool connect_tincd(bool verbose) {
 
        struct sockaddr_un sa;
        sa.sun_family = AF_UNIX;
 
        struct sockaddr_un sa;
        sa.sun_family = AF_UNIX;
-       strncpy(sa.sun_path, unixsocketname, sizeof sa.sun_path);
+       strncpy(sa.sun_path, unixsocketname, sizeof(sa.sun_path));
 
        fd = socket(AF_UNIX, SOCK_STREAM, 0);
        if(fd < 0) {
 
        fd = socket(AF_UNIX, SOCK_STREAM, 0);
        if(fd < 0) {
@@ -745,7 +745,7 @@ bool connect_tincd(bool verbose) {
                return false;
        }
 
                return false;
        }
 
-       if(connect(fd, (struct sockaddr *)&sa, sizeof sa) < 0) {
+       if(connect(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) {
                if(verbose)
                        fprintf(stderr, "Cannot connect to UNIX socket %s: %s\n", unixsocketname, sockstrerror(sockerrno));
                close(fd);
                if(verbose)
                        fprintf(stderr, "Cannot connect to UNIX socket %s: %s\n", unixsocketname, sockstrerror(sockerrno));
                close(fd);
@@ -797,13 +797,13 @@ bool connect_tincd(bool verbose) {
 
 #ifdef SO_NOSIGPIPE
        static const int one = 1;
 
 #ifdef SO_NOSIGPIPE
        static const int one = 1;
-       setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&one, sizeof one);
+       setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&one, sizeof(one));
 #endif
 
        char data[4096];
        int version;
 
 #endif
 
        char data[4096];
        int version;
 
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %4095s %d", &code, data, &version) != 3 || code != 0) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %4095s %d", &code, data, &version) != 3 || code != 0) {
                if(verbose)
                        fprintf(stderr, "Cannot read greeting from control socket: %s\n", sockstrerror(sockerrno));
                close(fd);
                if(verbose)
                        fprintf(stderr, "Cannot read greeting from control socket: %s\n", sockstrerror(sockerrno));
                close(fd);
@@ -813,7 +813,7 @@ bool connect_tincd(bool verbose) {
 
        sendline(fd, "%d ^%s %d", ID, controlcookie, TINC_CTL_VERSION_CURRENT);
 
 
        sendline(fd, "%d ^%s %d", ID, controlcookie, TINC_CTL_VERSION_CURRENT);
 
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &version, &pid) != 3 || code != 4 || version != TINC_CTL_VERSION_CURRENT) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &version, &pid) != 3 || code != 4 || version != TINC_CTL_VERSION_CURRENT) {
                if(verbose)
                        fprintf(stderr, "Could not fully establish control socket connection\n");
                close(fd);
                if(verbose)
                        fprintf(stderr, "Could not fully establish control socket connection\n");
                close(fd);
@@ -848,7 +848,7 @@ static int cmd_start(int argc, char *argv[]) {
                c = "tincd";
 
        int nargc = 0;
                c = "tincd";
 
        int nargc = 0;
-       char **nargv = xzalloc((optind + argc) * sizeof *nargv);
+       char **nargv = xzalloc((optind + argc) * sizeof(*nargv));
 
        char *arg0 = c;
 #ifdef HAVE_MINGW
 
        char *arg0 = c;
 #ifdef HAVE_MINGW
@@ -893,7 +893,7 @@ static int cmd_start(int argc, char *argv[]) {
        if(!pid) {
                close(pfd[0]);
                char buf[100];
        if(!pid) {
                close(pfd[0]);
                char buf[100];
-               snprintf(buf, sizeof buf, "%d", pfd[1]);
+               snprintf(buf, sizeof(buf), "%d", pfd[1]);
                setenv("TINC_UMBILICAL", buf, true);
                exit(execvp(c, nargv));
        } else {
                setenv("TINC_UMBILICAL", buf, true);
                exit(execvp(c, nargv));
        } else {
@@ -913,7 +913,7 @@ static int cmd_start(int argc, char *argv[]) {
        char buf[1024];
        ssize_t len;
 
        char buf[1024];
        ssize_t len;
 
-       while((len = read(pfd[0], buf, sizeof buf)) > 0) {
+       while((len = read(pfd[0], buf, sizeof(buf))) > 0) {
                failure = buf[len - 1];
                if(!failure)
                        len--;
                failure = buf[len - 1];
                if(!failure)
                        len--;
@@ -965,7 +965,7 @@ static int cmd_stop(int argc, char *argv[]) {
 
        sendline(fd, "%d %d", CONTROL, REQ_STOP);
 
 
        sendline(fd, "%d %d", CONTROL, REQ_STOP);
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                // Wait for tincd to close the connection...
        }
 #else
                // Wait for tincd to close the connection...
        }
 #else
@@ -994,7 +994,7 @@ static int cmd_reload(int argc, char *argv[]) {
                return 1;
 
        sendline(fd, "%d %d", CONTROL, REQ_RELOAD);
                return 1;
 
        sendline(fd, "%d %d", CONTROL, REQ_RELOAD);
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_RELOAD || result) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_RELOAD || result) {
                fprintf(stderr, "Could not reload configuration.\n");
                return 1;
        }
                fprintf(stderr, "Could not reload configuration.\n");
                return 1;
        }
@@ -1005,7 +1005,7 @@ static int cmd_reload(int argc, char *argv[]) {
 
 static int dump_invitations(void) {
        char dname[PATH_MAX];
 
 static int dump_invitations(void) {
        char dname[PATH_MAX];
-       snprintf(dname, sizeof dname, "%s" SLASH "invitations", confbase);
+       snprintf(dname, sizeof(dname), "%s" SLASH "invitations", confbase);
        DIR *dir = opendir(dname);
        if(!dir) {
                if(errno == ENOENT) {
        DIR *dir = opendir(dname);
        if(!dir) {
                if(errno == ENOENT) {
@@ -1026,7 +1026,7 @@ static int dump_invitations(void) {
                        continue;
 
                char fname[PATH_MAX];
                        continue;
 
                char fname[PATH_MAX];
-               snprintf(fname, sizeof fname, "%s" SLASH "%s", dname, ent->d_name);
+               snprintf(fname, sizeof(fname), "%s" SLASH "%s", dname, ent->d_name);
                FILE *f = fopen(fname, "r");
                if(!f) {
                        fprintf(stderr, "Cannot open %s: %s\n", fname, strerror(errno));
                FILE *f = fopen(fname, "r");
                if(!f) {
                        fprintf(stderr, "Cannot open %s: %s\n", fname, strerror(errno));
@@ -1034,7 +1034,7 @@ static int dump_invitations(void) {
                }
 
                buf[0] = 0;
                }
 
                buf[0] = 0;
-               if(!fgets(buf, sizeof buf, f)) {
+               if(!fgets(buf, sizeof(buf), f)) {
                        fprintf(stderr, "Invalid invitation file %s", fname);
                        fclose(f);
                        continue;
                        fprintf(stderr, "Invalid invitation file %s", fname);
                        fclose(f);
                        continue;
@@ -1116,7 +1116,7 @@ static int cmd_dump(int argc, char *argv[]) {
        else if(do_graph == 2)
                printf("digraph {\n");
 
        else if(do_graph == 2)
                printf("digraph {\n");
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                char node1[4096], node2[4096];
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, node1, node2);
                if(n == 2) {
                char node1[4096], node2[4096];
                int n = sscanf(line, "%d %d %4095s %4095s", &code, &req, node1, node2);
                if(n == 2) {
@@ -1156,7 +1156,7 @@ static int cmd_dump(int argc, char *argv[]) {
                                        return 1;
                                }
 
                                        return 1;
                                }
 
-                               memcpy(&status, &status_int, sizeof status);
+                               memcpy(&status, &status_int, sizeof(status));
 
                                if(do_graph) {
                                        const char *color = "black";
 
                                if(do_graph) {
                                        const char *color = "black";
@@ -1235,7 +1235,7 @@ static int cmd_purge(int argc, char *argv[]) {
                return 1;
 
        sendline(fd, "%d %d", CONTROL, REQ_PURGE);
                return 1;
 
        sendline(fd, "%d %d", CONTROL, REQ_PURGE);
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_PURGE || result) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_PURGE || result) {
                fprintf(stderr, "Could not purge old information.\n");
                return 1;
        }
                fprintf(stderr, "Could not purge old information.\n");
                return 1;
        }
@@ -1256,7 +1256,7 @@ static int cmd_debug(int argc, char *argv[]) {
        int origlevel;
 
        sendline(fd, "%d %d %d", CONTROL, REQ_SET_DEBUG, debuglevel);
        int origlevel;
 
        sendline(fd, "%d %d %d", CONTROL, REQ_SET_DEBUG, debuglevel);
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &origlevel) != 3 || code != CONTROL || req != REQ_SET_DEBUG) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &req, &origlevel) != 3 || code != CONTROL || req != REQ_SET_DEBUG) {
                fprintf(stderr, "Could not set debug level.\n");
                return 1;
        }
                fprintf(stderr, "Could not set debug level.\n");
                return 1;
        }
@@ -1275,7 +1275,7 @@ static int cmd_retry(int argc, char *argv[]) {
                return 1;
 
        sendline(fd, "%d %d", CONTROL, REQ_RETRY);
                return 1;
 
        sendline(fd, "%d %d", CONTROL, REQ_RETRY);
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_RETRY || result) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_RETRY || result) {
                fprintf(stderr, "Could not retry outgoing connections.\n");
                return 1;
        }
                fprintf(stderr, "Could not retry outgoing connections.\n");
                return 1;
        }
@@ -1298,7 +1298,7 @@ static int cmd_connect(int argc, char *argv[]) {
                return 1;
 
        sendline(fd, "%d %d %s", CONTROL, REQ_CONNECT, argv[1]);
                return 1;
 
        sendline(fd, "%d %d %s", CONTROL, REQ_CONNECT, argv[1]);
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_CONNECT || result) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_CONNECT || result) {
                fprintf(stderr, "Could not connect to %s.\n", argv[1]);
                return 1;
        }
                fprintf(stderr, "Could not connect to %s.\n", argv[1]);
                return 1;
        }
@@ -1321,7 +1321,7 @@ static int cmd_disconnect(int argc, char *argv[]) {
                return 1;
 
        sendline(fd, "%d %d %s", CONTROL, REQ_DISCONNECT, argv[1]);
                return 1;
 
        sendline(fd, "%d %d %s", CONTROL, REQ_DISCONNECT, argv[1]);
-       if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_DISCONNECT || result) {
+       if(!recvline(fd, line, sizeof(line)) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_DISCONNECT || result) {
                fprintf(stderr, "Could not disconnect %s.\n", argv[1]);
                return 1;
        }
                fprintf(stderr, "Could not disconnect %s.\n", argv[1]);
                return 1;
        }
@@ -1421,7 +1421,7 @@ char *get_my_name(bool verbose) {
 
        char buf[4096];
        char *value;
 
        char buf[4096];
        char *value;
-       while(fgets(buf, sizeof buf, f)) {
+       while(fgets(buf, sizeof(buf), f)) {
                int len = strcspn(buf, "\t =");
                value = buf + len;
                value += strspn(value, "\t ");
                int len = strcspn(buf, "\t =");
                value = buf + len;
                value += strspn(value, "\t ");
@@ -1449,7 +1449,7 @@ char *get_my_name(bool verbose) {
 ecdsa_t *get_pubkey(FILE *f) {
        char buf[4096];
        char *value;
 ecdsa_t *get_pubkey(FILE *f) {
        char buf[4096];
        char *value;
-       while(fgets(buf, sizeof buf, f)) {
+       while(fgets(buf, sizeof(buf), f)) {
                int len = strcspn(buf, "\t =");
                value = buf + len;
                value += strspn(value, "\t ");
                int len = strcspn(buf, "\t =");
                value = buf + len;
                value += strspn(value, "\t ");
@@ -1573,10 +1573,10 @@ static int cmd_config(int argc, char *argv[]) {
        }
 
        // Concatenate the rest of the command line
        }
 
        // Concatenate the rest of the command line
-       strncpy(line, argv[1], sizeof line - 1);
+       strncpy(line, argv[1], sizeof(line) - 1);
        for(int i = 2; i < argc; i++) {
        for(int i = 2; i < argc; i++) {
-               strncat(line, " ", sizeof line - 1 - strlen(line));
-               strncat(line, argv[i], sizeof line - 1 - strlen(line));
+               strncat(line, " ", sizeof(line) - 1 - strlen(line));
+               strncat(line, argv[i], sizeof(line) - 1 - strlen(line));
        }
 
        // Liberal parsing into node name, variable name and value.
        }
 
        // Liberal parsing into node name, variable name and value.
@@ -1685,9 +1685,9 @@ static int cmd_config(int argc, char *argv[]) {
        // Open the right configuration file.
        char filename[PATH_MAX];
        if(node)
        // Open the right configuration file.
        char filename[PATH_MAX];
        if(node)
-               snprintf(filename, sizeof filename, "%s" SLASH "%s", hosts_dir, node);
+               snprintf(filename, sizeof(filename), "%s" SLASH "%s", hosts_dir, node);
        else
        else
-               snprintf(filename, sizeof filename, "%s", tinc_conf);
+               snprintf(filename, sizeof(filename), "%s", tinc_conf);
 
        FILE *f = fopen(filename, "r");
        if(!f) {
 
        FILE *f = fopen(filename, "r");
        if(!f) {
@@ -1699,7 +1699,7 @@ static int cmd_config(int argc, char *argv[]) {
        FILE *tf = NULL;
 
        if(action >= -1) {
        FILE *tf = NULL;
 
        if(action >= -1) {
-               snprintf(tmpfile, sizeof tmpfile, "%s.config.tmp", filename);
+               snprintf(tmpfile, sizeof(tmpfile), "%s.config.tmp", filename);
                tf = fopen(tmpfile, "w");
                if(!tf) {
                        fprintf(stderr, "Could not open temporary file %s: %s\n", tmpfile, strerror(errno));
                tf = fopen(tmpfile, "w");
                if(!tf) {
                        fprintf(stderr, "Could not open temporary file %s: %s\n", tmpfile, strerror(errno));
@@ -1715,9 +1715,9 @@ static int cmd_config(int argc, char *argv[]) {
        bool removed = false;
        found = false;
 
        bool removed = false;
        found = false;
 
-       while(fgets(buf1, sizeof buf1, f)) {
-               buf1[sizeof buf1 - 1] = 0;
-               strncpy(buf2, buf1, sizeof buf2);
+       while(fgets(buf1, sizeof(buf1), f)) {
+               buf1[sizeof(buf1) - 1] = 0;
+               strncpy(buf2, buf1, sizeof(buf2));
 
                // Parse line in a simple way
                char *bvalue;
 
                // Parse line in a simple way
                char *bvalue;
@@ -1858,7 +1858,7 @@ static bool try_bind(int port) {
 
        bool success = true;
        char portstr[16];
 
        bool success = true;
        char portstr[16];
-       snprintf(portstr, sizeof portstr, "%d", port);
+       snprintf(portstr, sizeof(portstr), "%d", port);
 
        if(getaddrinfo(NULL, portstr, &hint, &ai) || !ai)
                return false;
 
        if(getaddrinfo(NULL, portstr, &hint, &ai) || !ai)
                return false;
@@ -1892,7 +1892,7 @@ int check_port(char *name) {
                int port = 0x1000 + (rand() & 0x7fff);
                if(try_bind(port)) {
                        char filename[PATH_MAX];
                int port = 0x1000 + (rand() & 0x7fff);
                if(try_bind(port)) {
                        char filename[PATH_MAX];
-                       snprintf(filename, sizeof filename, "%s" SLASH "hosts" SLASH "%s", confbase, name);
+                       snprintf(filename, sizeof(filename), "%s" SLASH "hosts" SLASH "%s", confbase, name);
                        FILE *f = fopen(filename, "a");
                        if(!f) {
                                fprintf(stderr, "Could not open %s: %s\n", filename, strerror(errno));
                        FILE *f = fopen(filename, "a");
                        if(!f) {
                                fprintf(stderr, "Could not open %s: %s\n", filename, strerror(errno));
@@ -1924,7 +1924,7 @@ static int cmd_init(int argc, char *argv[]) {
                if(tty) {
                        char buf[1024];
                        fprintf(stderr, "Enter the Name you want your tinc node to have: ");
                if(tty) {
                        char buf[1024];
                        fprintf(stderr, "Enter the Name you want your tinc node to have: ");
-                       if(!fgets(buf, sizeof buf, stdin)) {
+                       if(!fgets(buf, sizeof(buf), stdin)) {
                                fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                                return 1;
                        }
                                fprintf(stderr, "Error while reading stdin: %s\n", strerror(errno));
                                return 1;
                        }
@@ -1987,7 +1987,7 @@ static int cmd_init(int argc, char *argv[]) {
 
 #ifndef HAVE_MINGW
        char filename[PATH_MAX];
 
 #ifndef HAVE_MINGW
        char filename[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "tinc-up", confbase);
+       snprintf(filename, sizeof(filename), "%s" SLASH "tinc-up", confbase);
        if(access(filename, F_OK)) {
                FILE *f = fopenmask(filename, "w", 0777);
                if(!f) {
        if(access(filename, F_OK)) {
                FILE *f = fopenmask(filename, "w", 0777);
                if(!f) {
@@ -2102,7 +2102,7 @@ static int cmd_edit(int argc, char *argv[]) {
        if(strncmp(argv[1], "hosts" SLASH, 6)) {
                for(int i = 0; conffiles[i]; i++) {
                        if(!strcmp(argv[1], conffiles[i])) {
        if(strncmp(argv[1], "hosts" SLASH, 6)) {
                for(int i = 0; conffiles[i]; i++) {
                        if(!strcmp(argv[1], conffiles[i])) {
-                               snprintf(filename, sizeof filename, "%s" SLASH "%s", confbase, argv[1]);
+                               snprintf(filename, sizeof(filename), "%s" SLASH "%s", confbase, argv[1]);
                                break;
                        }
                }
                                break;
                        }
                }
@@ -2111,7 +2111,7 @@ static int cmd_edit(int argc, char *argv[]) {
        }
 
        if(!*filename) {
        }
 
        if(!*filename) {
-               snprintf(filename, sizeof filename, "%s" SLASH "%s", hosts_dir, argv[1]);
+               snprintf(filename, sizeof(filename), "%s" SLASH "%s", hosts_dir, argv[1]);
                char *dash = strchr(argv[1], '-');
                if(dash) {
                        *dash++ = 0;
                char *dash = strchr(argv[1], '-');
                if(dash) {
                        *dash++ = 0;
@@ -2142,7 +2142,7 @@ static int cmd_edit(int argc, char *argv[]) {
 
 static int export(const char *name, FILE *out) {
        char filename[PATH_MAX];
 
 static int export(const char *name, FILE *out) {
        char filename[PATH_MAX];
-       snprintf(filename, sizeof filename, "%s" SLASH "%s", hosts_dir, name);
+       snprintf(filename, sizeof(filename), "%s" SLASH "%s", hosts_dir, name);
        FILE *in = fopen(filename, "r");
        if(!in) {
                fprintf(stderr, "Could not open configuration file %s: %s\n", filename, strerror(errno));
        FILE *in = fopen(filename, "r");
        if(!in) {
                fprintf(stderr, "Could not open configuration file %s: %s\n", filename, strerror(errno));
@@ -2151,7 +2151,7 @@ static int export(const char *name, FILE *out) {
 
        fprintf(out, "Name = %s\n", name);
        char buf[4096];
 
        fprintf(out, "Name = %s\n", name);
        char buf[4096];
-       while(fgets(buf, sizeof buf, in)) {
+       while(fgets(buf, sizeof(buf), in)) {
                if(strcspn(buf, "\t =") != 4 || strncasecmp(buf, "Name", 4))
                        fputs(buf, out);
        }
                if(strcspn(buf, "\t =") != 4 || strncasecmp(buf, "Name", 4))
                        fputs(buf, out);
        }
@@ -2233,7 +2233,7 @@ static int cmd_import(int argc, char *argv[]) {
        int count = 0;
        bool firstline = true;
 
        int count = 0;
        bool firstline = true;
 
-       while(fgets(buf, sizeof buf, in)) {
+       while(fgets(buf, sizeof(buf), in)) {
                if(sscanf(buf, "Name = %4095s", name) == 1) {
                        firstline = false;
 
                if(sscanf(buf, "Name = %4095s", name) == 1) {
                        firstline = false;
 
@@ -2245,7 +2245,7 @@ static int cmd_import(int argc, char *argv[]) {
                        if(out)
                                fclose(out);
 
                        if(out)
                                fclose(out);
 
-                       snprintf(filename, sizeof filename, "%s" SLASH "%s", hosts_dir, name);
+                       snprintf(filename, sizeof(filename), "%s" SLASH "%s", hosts_dir, name);
 
                        if(!force && !access(filename, F_OK)) {
                                fprintf(stderr, "Host configuration file %s already exists, skipping.\n", filename);
 
                        if(!force && !access(filename, F_OK)) {
                                fprintf(stderr, "Host configuration file %s already exists, skipping.\n", filename);
@@ -2355,7 +2355,7 @@ static int cmd_network(int argc, char *argv[]) {
                }
 
                char fname[PATH_MAX];
                }
 
                char fname[PATH_MAX];
-               snprintf(fname, sizeof fname, "%s/%s/tinc.conf", confdir, ent->d_name);
+               snprintf(fname, sizeof(fname), "%s/%s/tinc.conf", confdir, ent->d_name);
                if(!access(fname, R_OK))
                        printf("%s\n", ent->d_name);
        }
                if(!access(fname, R_OK))
                        printf("%s\n", ent->d_name);
        }
@@ -2409,7 +2409,7 @@ static int cmd_sign(int argc, char *argv[]) {
        }
 
        char fname[PATH_MAX];
        }
 
        char fname[PATH_MAX];
-       snprintf(fname, sizeof fname, "%s" SLASH "ed25519_key.priv", confbase);
+       snprintf(fname, sizeof(fname), "%s" SLASH "ed25519_key.priv", confbase);
        FILE *fp = fopen(fname, "r");
        if(!fp) {
                fprintf(stderr, "Could not open %s: %s\n", fname, strerror(errno));
        FILE *fp = fopen(fname, "r");
        if(!fp) {
                fprintf(stderr, "Could not open %s: %s\n", fname, strerror(errno));
@@ -2565,7 +2565,7 @@ static int cmd_verify(int argc, char *argv[]) {
        newline = data + skip;
 
        char fname[PATH_MAX];
        newline = data + skip;
 
        char fname[PATH_MAX];
-       snprintf(fname, sizeof fname, "%s" SLASH "hosts" SLASH "%s", confbase, node);
+       snprintf(fname, sizeof(fname), "%s" SLASH "hosts" SLASH "%s", confbase, node);
        FILE *fp = fopen(fname, "r");
        if(!fp) {
                fprintf(stderr, "Could not open %s: %s\n", fname, strerror(errno));
        FILE *fp = fopen(fname, "r");
        if(!fp) {
                fprintf(stderr, "Could not open %s: %s\n", fname, strerror(errno));
@@ -2724,7 +2724,7 @@ static char *complete_info(const char *text, int state) {
                sendline(fd, "%d %d", CONTROL, REQ_DUMP_SUBNETS);
        }
 
                sendline(fd, "%d %d", CONTROL, REQ_DUMP_SUBNETS);
        }
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                char item[4096];
                int n = sscanf(line, "%d %d %4095s", &code, &req, item);
                if(n == 2) {
                char item[4096];
                int n = sscanf(line, "%d %d %4095s", &code, &req, item);
                if(n == 2) {
@@ -2779,7 +2779,7 @@ static int cmd_shell(int argc, char *argv[]) {
        char buf[4096];
        char *line = NULL;
        int maxargs = argc + 16;
        char buf[4096];
        char *line = NULL;
        int maxargs = argc + 16;
-       char **nargv = xmalloc(maxargs * sizeof *nargv);
+       char **nargv = xmalloc(maxargs * sizeof(*nargv));
 
        for(int i = 0; i < argc; i++)
                nargv[i] = argv[i];
 
        for(int i = 0; i < argc; i++)
                nargv[i] = argv[i];
@@ -2802,13 +2802,13 @@ static int cmd_shell(int argc, char *argv[]) {
                        if(line)
                                copy = xstrdup(line);
                } else {
                        if(line)
                                copy = xstrdup(line);
                } else {
-                       line = fgets(buf, sizeof buf, stdin);
+                       line = fgets(buf, sizeof(buf), stdin);
                }
 #else
                if(tty)
                        fputs(prompt, stdout);
 
                }
 #else
                if(tty)
                        fputs(prompt, stdout);
 
-               line = fgets(buf, sizeof buf, stdin);
+               line = fgets(buf, sizeof(buf), stdin);
 #endif
 
                if(!line)
 #endif
 
                if(!line)
@@ -2828,7 +2828,7 @@ static int cmd_shell(int argc, char *argv[]) {
                while(p && *p) {
                        if(nargc >= maxargs) {
                                maxargs *= 2;
                while(p && *p) {
                        if(nargc >= maxargs) {
                                maxargs *= 2;
-                               nargv = xrealloc(nargv, maxargs * sizeof *nargv);
+                               nargv = xrealloc(nargv, maxargs * sizeof(*nargv));
                        }
 
                        nargv[nargc++] = p;
                        }
 
                        nargv[nargc++] = p;
index 8227d6c..8d9ffb0 100644 (file)
--- a/src/top.c
+++ b/src/top.c
@@ -89,7 +89,7 @@ static bool update(int fd) {
        for list_each(nodestats_t, ns, &node_list)
                ns->known = false;
 
        for list_each(nodestats_t, ns, &node_list)
                ns->known = false;
 
-       while(recvline(fd, line, sizeof line)) {
+       while(recvline(fd, line, sizeof(line))) {
                int n = sscanf(line, "%d %d %4095s %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, &code, &req, name, &in_packets, &in_bytes, &out_packets, &out_bytes);
 
                if(n == 2)
                int n = sscanf(line, "%d %d %4095s %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, &code, &req, name, &in_packets, &in_bytes, &out_packets, &out_bytes);
 
                if(n == 2)
@@ -108,7 +108,7 @@ static bool update(int fd) {
                                found = ns;
                                break;
                        } else {
                                found = ns;
                                break;
                        } else {
-                               found = xzalloc(sizeof *found);
+                               found = xzalloc(sizeof(*found));
                                found->name = xstrdup(name);
                                list_insert_before(&node_list, node, found);
                                changed = true;
                                found->name = xstrdup(name);
                                list_insert_before(&node_list, node, found);
                                changed = true;
@@ -117,7 +117,7 @@ static bool update(int fd) {
                }
 
                if(!found) {
                }
 
                if(!found) {
-                       found = xzalloc(sizeof *found);
+                       found = xzalloc(sizeof(*found));
                        found->name = xstrdup(name);
                        list_insert_tail(&node_list, found);
                        changed = true;
                        found->name = xstrdup(name);
                        list_insert_tail(&node_list, found);
                        changed = true;
@@ -220,7 +220,7 @@ static void redraw(void) {
        static int n = 0;
        if(changed) {
                n = 0;
        static int n = 0;
        if(changed) {
                n = 0;
-               sorted = xrealloc(sorted, node_list.count * sizeof *sorted);
+               sorted = xrealloc(sorted, node_list.count * sizeof(*sorted));
                for list_each(nodestats_t, ns, &node_list)
                        sorted[n++] = ns;
                changed = false;
                for list_each(nodestats_t, ns, &node_list)
                        sorted[n++] = ns;
                changed = false;
@@ -230,7 +230,7 @@ static void redraw(void) {
                sorted[i]->i = i;
 
        if(sorted)
                sorted[i]->i = i;
 
        if(sorted)
-               qsort(sorted, n, sizeof *sorted, sortfunc);
+               qsort(sorted, n, sizeof(*sorted), sortfunc);
 
        for(int i = 0, row = 3; i < n; i++, row++) {
                nodestats_t *node = sorted[i];
 
        for(int i = 0, row = 3; i < n; i++, row++) {
                nodestats_t *node = sorted[i];
index 68f4cd2..829e141 100644 (file)
@@ -76,7 +76,7 @@ static bool setup_device(void) {
        fcntl(write_fd, F_SETFD, FD_CLOEXEC);
 #endif
 
        fcntl(write_fd, F_SETFD, FD_CLOEXEC);
 #endif
 
-       setsockopt(write_fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one);
+       setsockopt(write_fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
 
        if(fcntl(write_fd, F_SETFL, O_NONBLOCK) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "fcntl", strerror(errno));
 
        if(fcntl(write_fd, F_SETFL, O_NONBLOCK) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "fcntl", strerror(errno));
@@ -94,7 +94,7 @@ static bool setup_device(void) {
        fcntl(data_fd, F_SETFD, FD_CLOEXEC);
 #endif
 
        fcntl(data_fd, F_SETFD, FD_CLOEXEC);
 #endif
 
-       setsockopt(data_fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one);
+       setsockopt(data_fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
 
        if(fcntl(data_fd, F_SETFL, O_NONBLOCK) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "fcntl", strerror(errno));
 
        if(fcntl(data_fd, F_SETFL, O_NONBLOCK) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "fcntl", strerror(errno));
@@ -107,9 +107,9 @@ static bool setup_device(void) {
        gettimeofday(&tv, NULL);
        name.usecs = tv.tv_usec;
        data_sun.sun_family = AF_UNIX;
        gettimeofday(&tv, NULL);
        name.usecs = tv.tv_usec;
        data_sun.sun_family = AF_UNIX;
-       memcpy(&data_sun.sun_path, &name, sizeof name);
+       memcpy(&data_sun.sun_path, &name, sizeof(name));
 
 
-       if(bind(data_fd, (struct sockaddr *)&data_sun, sizeof data_sun) < 0) {
+       if(bind(data_fd, (struct sockaddr *)&data_sun, sizeof(data_sun)) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind data %s: %s", device_info, strerror(errno));
                event_exit();
                return false;
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind data %s: %s", device_info, strerror(errno));
                event_exit();
                return false;
@@ -125,7 +125,7 @@ static bool setup_device(void) {
        fcntl(device_fd, F_SETFD, FD_CLOEXEC);
 #endif
 
        fcntl(device_fd, F_SETFD, FD_CLOEXEC);
 #endif
 
-       setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one);
+       setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
 
        if(fcntl(listen_fd, F_SETFL, O_NONBLOCK) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "fcntl", strerror(errno));
 
        if(fcntl(listen_fd, F_SETFL, O_NONBLOCK) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "fcntl", strerror(errno));
@@ -133,8 +133,8 @@ static bool setup_device(void) {
        }
 
        listen_sun.sun_family = AF_UNIX;
        }
 
        listen_sun.sun_family = AF_UNIX;
-       strncpy(listen_sun.sun_path, device, sizeof listen_sun.sun_path);
-       if(bind(listen_fd, (struct sockaddr *)&listen_sun, sizeof listen_sun) < 0) {
+       strncpy(listen_sun.sun_path, device, sizeof(listen_sun.sun_path));
+       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));
                return false;
        }
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind %s to %s: %s", device_info, device, strerror(errno));
                return false;
        }
@@ -187,7 +187,7 @@ static bool read_packet(vpn_packet_t *packet) {
        switch(state) {
                case 0: {
                        struct sockaddr sa;
        switch(state) {
                case 0: {
                        struct sockaddr sa;
-                       socklen_t salen = sizeof sa;
+                       socklen_t salen = sizeof(sa);
 
                        request_fd = accept(listen_fd, &sa, &salen);
                        if(request_fd < 0) {
 
                        request_fd = accept(listen_fd, &sa, &salen);
                        if(request_fd < 0) {
@@ -214,7 +214,7 @@ static bool read_packet(vpn_packet_t *packet) {
                }
 
                case 1: {
                }
 
                case 1: {
-                       if((inlen = read(request_fd, &request, sizeof request)) != sizeof request) {
+                       if((inlen = read(request_fd, &request, sizeof(request))) != sizeof request) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Error while reading request from %s %s: %s", device_info,
                                           device, strerror(errno));
                                event_exit();
                                logger(DEBUG_ALWAYS, LOG_ERR, "Error while reading request from %s %s: %s", device_info,
                                           device, strerror(errno));
                                event_exit();
@@ -228,13 +228,13 @@ static bool read_packet(vpn_packet_t *packet) {
                                return false;
                        }
 
                                return false;
                        }
 
-                       if(connect(write_fd, (struct sockkadr *)&request.sock, sizeof request.sock) < 0) {
+                       if(connect(write_fd, (struct sockkadr *)&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;
                        }
 
                                logger(DEBUG_ALWAYS, LOG_ERR, "Could not bind write %s: %s", device_info, strerror(errno));
                                event_exit();
                                return false;
                        }
 
-                       write(request_fd, &data_sun, sizeof data_sun);
+                       write(request_fd, &data_sun, sizeof(data_sun));
                        device_fd = data_fd;
 
                        logger(DEBUG_ALWAYS, LOG_INFO, "Connection with UML established");
                        device_fd = data_fd;
 
                        logger(DEBUG_ALWAYS, LOG_INFO, "Connection with UML established");
index 3bfc770..e321dcf 100644 (file)
@@ -75,7 +75,7 @@ static void upnp_add_mapping(struct UPNPUrls *urls, struct IGDdatas *data, const
        // Note that we can't simply use listen_socket[].sa because this won't have the port
        // if we're running with Port=0 (dynamically assigned port).
        sockaddr_t sa;
        // Note that we can't simply use listen_socket[].sa because this won't have the port
        // if we're running with Port=0 (dynamically assigned port).
        sockaddr_t sa;
-       socklen_t salen = sizeof sa;
+       socklen_t salen = sizeof(sa);
        if (getsockname(socket, &sa.sa, &salen)) {
                logger(DEBUG_PROTOCOL, LOG_ERR, "[upnp] Unable to get socket address: [%d] %s", sockerrno, sockstrerror(sockerrno));
                return;
        if (getsockname(socket, &sa.sa, &salen)) {
                logger(DEBUG_PROTOCOL, LOG_ERR, "[upnp] Unable to get socket address: [%d] %s", sockerrno, sockstrerror(sockerrno));
                return;
@@ -89,7 +89,7 @@ static void upnp_add_mapping(struct UPNPUrls *urls, struct IGDdatas *data, const
 
        // Use a lease twice as long as the refresh period so that the mapping won't expire before we refresh.
        char lease_duration[16];
 
        // Use a lease twice as long as the refresh period so that the mapping won't expire before we refresh.
        char lease_duration[16];
-       snprintf(lease_duration, sizeof lease_duration, "%d", upnp_refresh_period * 2);
+       snprintf(lease_duration, sizeof(lease_duration), "%d", upnp_refresh_period * 2);
 
        int error = UPNP_AddPortMapping(urls->controlURL, data->first.servicetype, port, port, myaddr, identname, proto, NULL, lease_duration);
        if (error == 0) {
 
        int error = UPNP_AddPortMapping(urls->controlURL, data->first.servicetype, port, port, myaddr, identname, proto, NULL, lease_duration);
        if (error == 0) {
@@ -115,7 +115,7 @@ static void upnp_refresh() {
        struct UPNPUrls urls;
        struct IGDdatas data;
        char myaddr[64];
        struct UPNPUrls urls;
        struct IGDdatas data;
        char myaddr[64];
-       int result = UPNP_GetValidIGD(devices, &urls, &data, myaddr, sizeof myaddr);
+       int result = UPNP_GetValidIGD(devices, &urls, &data, myaddr, sizeof(myaddr));
        if (result <= 0) {
                logger(DEBUG_PROTOCOL, LOG_WARNING, "[upnp] No IGD found");
                freeUPNPDevlist(devices);
        if (result <= 0) {
                logger(DEBUG_PROTOCOL, LOG_WARNING, "[upnp] No IGD found");
                freeUPNPDevlist(devices);
index fadfd05..940bc6e 100644 (file)
@@ -158,7 +158,7 @@ int b64encode_urlsafe(const void *src, char *dst, int length) {
 const char *winerror(int err) {
        static char buf[1024], *ptr;
 
 const char *winerror(int err) {
        static char buf[1024], *ptr;
 
-       ptr = buf + snprintf(buf, sizeof buf, "(%d) ", err);
+       ptr = buf + snprintf(buf, sizeof(buf), "(%d) ", err);
 
        if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
                NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), ptr, sizeof(buf) - (ptr - buf), NULL)) {
 
        if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
                NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), ptr, sizeof(buf) - (ptr - buf), NULL)) {
@@ -174,8 +174,8 @@ const char *winerror(int err) {
 
 unsigned int bitfield_to_int(const void *bitfield, size_t size) {
        unsigned int value = 0;
 
 unsigned int bitfield_to_int(const void *bitfield, size_t size) {
        unsigned int value = 0;
-       if(size > sizeof value)
-               size = sizeof value;
+       if(size > sizeof(value))
+               size = sizeof(value);
        memcpy(&value, bitfield, size);
        return value;
 }
        memcpy(&value, bitfield, size);
        return value;
 }
@@ -223,7 +223,7 @@ char *replace_name(const char *name) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Invalid Name: environment variable %s does not exist\n", name + 1);
                                return NULL;
                        }
                                logger(DEBUG_ALWAYS, LOG_ERR, "Invalid Name: environment variable %s does not exist\n", name + 1);
                                return NULL;
                        }
-                       if (gethostname(hostname, sizeof hostname) || !*hostname) {
+                       if (gethostname(hostname, sizeof(hostname)) || !*hostname) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get hostname: %s\n", sockstrerror(sockerrno));
                                return NULL;
                        }
                                logger(DEBUG_ALWAYS, LOG_ERR, "Could not get hostname: %s\n", sockstrerror(sockerrno));
                                return NULL;
                        }
index 34dac3c..1bde041 100644 (file)
@@ -55,7 +55,7 @@ static inline char *xstrdup(const char *s) {
 static inline int xvasprintf(char **strp, const char *fmt, va_list ap) {
 #ifdef HAVE_MINGW
        char buf[1024];
 static inline int xvasprintf(char **strp, const char *fmt, va_list ap) {
 #ifdef HAVE_MINGW
        char buf[1024];
-       int result = vsnprintf(buf, sizeof buf, fmt, ap);
+       int result = vsnprintf(buf, sizeof(buf), fmt, ap);
        if(result < 0)
                abort();
        *strp = xstrdup(buf);
        if(result < 0)
                abort();
        *strp = xstrdup(buf);
index a4f2be7..24a215c 100644 (file)
@@ -25,10 +25,10 @@ uint8_t mymac[6] = {6, 5, 5, 6, 5, 5};
 
 static ssize_t do_arp(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
        struct ether_arp arp;
 
 static ssize_t do_arp(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
        struct ether_arp arp;
-       memcpy(&arp, buf + 14, sizeof arp);
+       memcpy(&arp, buf + 14, sizeof(arp));
 
        // Is it a valid ARP request?
 
        // Is it a valid ARP request?
-       if(ntohs(arp.arp_hrd) != ARPHRD_ETHER || ntohs(arp.arp_pro) != ETH_P_IP || arp.arp_hln != ETH_ALEN || arp.arp_pln != sizeof in->sin_addr.s_addr || ntohs(arp.arp_op) != ARPOP_REQUEST)
+       if(ntohs(arp.arp_hrd) != ARPHRD_ETHER || ntohs(arp.arp_pro) != ETH_P_IP || arp.arp_hln != ETH_ALEN || arp.arp_pln != sizeof(in->sin_addr.s_addr) || ntohs(arp.arp_op) != ARPOP_REQUEST)
                return 0;
 
        // Does it match our address?
                return 0;
 
        // Does it match our address?
@@ -40,12 +40,12 @@ static ssize_t do_arp(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
        memcpy(buf + 6, mymac, 6);
 
        arp.arp_op = htons(ARPOP_REPLY);
        memcpy(buf + 6, mymac, 6);
 
        arp.arp_op = htons(ARPOP_REPLY);
-       memcpy(arp.arp_tpa, arp.arp_spa, sizeof arp.arp_tpa);
-       memcpy(arp.arp_tha, arp.arp_sha, sizeof arp.arp_tha);
-       memcpy(arp.arp_spa, &in->sin_addr.s_addr, sizeof in->sin_addr.s_addr);
+       memcpy(arp.arp_tpa, arp.arp_spa, sizeof(arp.arp_tpa));
+       memcpy(arp.arp_tha, arp.arp_sha, sizeof(arp.arp_tha));
+       memcpy(arp.arp_spa, &in->sin_addr.s_addr, sizeof(in->sin_addr.s_addr));
        memcpy(arp.arp_sha, mymac, 6);
 
        memcpy(arp.arp_sha, mymac, 6);
 
-       memcpy(buf + 14, &arp, sizeof arp);
+       memcpy(buf + 14, &arp, sizeof(arp));
 
        return len;
 }
 
        return len;
 }
@@ -58,7 +58,7 @@ static ssize_t do_ipv4(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
        if(memcmp(buf, mymac, 6))
                return 0;
 
        if(memcmp(buf, mymac, 6))
                return 0;
 
-       memcpy(&ip, buf + 14, sizeof ip);
+       memcpy(&ip, buf + 14, sizeof(ip));
        if(memcmp(&ip.ip_dst, &in->sin_addr.s_addr, 4))
                return 0;
 
        if(memcmp(&ip.ip_dst, &in->sin_addr.s_addr, 4))
                return 0;
 
@@ -66,7 +66,7 @@ static ssize_t do_ipv4(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
        if(ip.ip_p != IPPROTO_ICMP)
                return 0;
 
        if(ip.ip_p != IPPROTO_ICMP)
                return 0;
 
-       memcpy(&icmp, buf + 14 + sizeof ip, sizeof icmp);
+       memcpy(&icmp, buf + 14 + sizeof(ip), sizeof icmp);
        if(icmp.icmp_type != ICMP_ECHO)
                return 0;
 
        if(icmp.icmp_type != ICMP_ECHO)
                return 0;
 
@@ -79,8 +79,8 @@ static ssize_t do_ipv4(uint8_t *buf, ssize_t len, struct sockaddr_in *in) {
 
        icmp.icmp_type = ICMP_ECHOREPLY;
 
 
        icmp.icmp_type = ICMP_ECHOREPLY;
 
-       memcpy(buf + 14, &ip, sizeof ip);
-       memcpy(buf + 14 + sizeof ip, &icmp, sizeof icmp);
+       memcpy(buf + 14, &ip, sizeof(ip));
+       memcpy(buf + 14 + sizeof(ip), &icmp, sizeof icmp);
 
        return len;
 }
 
        return len;
 }
@@ -113,7 +113,7 @@ int main(int argc, char *argv[]) {
        }
 
        static const int one = 1;
        }
 
        static const int one = 1;
-       setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof one);
+       setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(one));
 
        if(bind(fd, ai->ai_addr, ai->ai_addrlen)) {
                fprintf(stderr, "Could not bind socket: %s\n", strerror(errno));
 
        if(bind(fd, ai->ai_addr, ai->ai_addrlen)) {
                fprintf(stderr, "Could not bind socket: %s\n", strerror(errno));
@@ -124,15 +124,15 @@ int main(int argc, char *argv[]) {
                case AF_INET: {
                        struct ip_mreq mreq;
                        struct sockaddr_in in;
                case AF_INET: {
                        struct ip_mreq mreq;
                        struct sockaddr_in in;
-                       memcpy(&in, ai->ai_addr, sizeof in);
+                       memcpy(&in, ai->ai_addr, sizeof(in));
                        mreq.imr_multiaddr.s_addr = in.sin_addr.s_addr;
                        mreq.imr_interface.s_addr = htonl(INADDR_ANY);
                        mreq.imr_multiaddr.s_addr = in.sin_addr.s_addr;
                        mreq.imr_interface.s_addr = htonl(INADDR_ANY);
-                       if(setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *)&mreq, sizeof mreq)) {
+                       if(setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *)&mreq, sizeof(mreq))) {
                                fprintf(stderr, "Cannot join multicast group: %s\n", strerror(errno));
                                return 1;
                        }
 #ifdef IP_MULTICAST_LOOP
                                fprintf(stderr, "Cannot join multicast group: %s\n", strerror(errno));
                                return 1;
                        }
 #ifdef IP_MULTICAST_LOOP
-                       setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, (const void *)&one, sizeof one);
+                       setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, (const void *)&one, sizeof(one));
 #endif
                } break;
 
 #endif
                } break;
 
@@ -140,15 +140,15 @@ int main(int argc, char *argv[]) {
                case AF_INET6: {
                        struct ipv6_mreq mreq;
                        struct sockaddr_in6 in6;
                case AF_INET6: {
                        struct ipv6_mreq mreq;
                        struct sockaddr_in6 in6;
-                       memcpy(&in6, ai->ai_addr, sizeof in6);
-                       memcpy(&mreq.ipv6mr_multiaddr, &in6.sin6_addr, sizeof mreq.ipv6mr_multiaddr);
+                       memcpy(&in6, ai->ai_addr, sizeof(in6));
+                       memcpy(&mreq.ipv6mr_multiaddr, &in6.sin6_addr, sizeof(mreq.ipv6mr_multiaddr));
                        mreq.ipv6mr_interface = in6.sin6_scope_id;
                        mreq.ipv6mr_interface = in6.sin6_scope_id;
-                       if(setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (void *)&mreq, sizeof mreq)) {
+                       if(setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (void *)&mreq, sizeof(mreq))) {
                                fprintf(stderr, "Cannot join multicast group: %s\n", strerror(errno));
                                return 1;
                        }
 #ifdef IPV6_MULTICAST_LOOP
                                fprintf(stderr, "Cannot join multicast group: %s\n", strerror(errno));
                                return 1;
                        }
 #ifdef IPV6_MULTICAST_LOOP
-                       setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (const void *)&one, sizeof one);
+                       setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (const void *)&one, sizeof(one));
 #endif
                } break;
 #endif
 #endif
                } break;
 #endif
@@ -169,7 +169,7 @@ int main(int argc, char *argv[]) {
                uint8_t buf[10000];
                struct sockaddr src;
                socklen_t srclen;
                uint8_t buf[10000];
                struct sockaddr src;
                socklen_t srclen;
-               ssize_t len = recvfrom(fd, buf, sizeof buf, 0, &src, &srclen);
+               ssize_t len = recvfrom(fd, buf, sizeof(buf), 0, &src, &srclen);
                if(len <= 0)
                        break;
 
                if(len <= 0)
                        break;