Fix segfault when dest->mtu is 0.
authorWerner Schreiber <werner@perfect-privacy.com>
Wed, 10 Oct 2018 17:16:59 +0000 (19:16 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Thu, 18 Oct 2018 15:07:19 +0000 (17:07 +0200)
src/route.c

index dcc6f3c..461ba14 100644 (file)
@@ -598,7 +598,7 @@ static void fragment_ipv4_packet(node_t *dest, vpn_packet_t *packet, length_t et
        logger(DEBUG_TRAFFIC, LOG_INFO, "Fragmenting packet of %d bytes to %s (%s)", packet->len, dest->name, dest->hostname);
 
        offset = DATA(packet) + ether_size + ip_size;
-       maxlen = (dest->mtu - ether_size - ip_size) & ~0x7;
+       maxlen = (MAX(dest->mtu, 590) - ether_size - ip_size) & ~0x7;
        ip_off = ntohs(ip.ip_off);
        origf = ip_off & ~IP_OFFMASK;
        ip_off &= IP_OFFMASK;