Fix generic BSD tun device to write only the actual packet length.
[tinc] / src / bsd / device.c
index 8649d89..419c38f 100644 (file)
@@ -245,7 +245,7 @@ bool write_packet(vpn_packet_t *packet)
 
                case DEVICE_TYPE_TUNIFHEAD: {
                        u_int32_t type;
-                       struct iovec vector[2] = {{&type, sizeof(type)}, {packet->data + 14, MTU - 14}};
+                       struct iovec vector[2] = {{&type, sizeof(type)}, {packet->data + 14, packet->len - 14}};
                        int af;
                        
                        af = (packet->data[12] << 8) + packet->data[13];