From 6ea21ab870d5480ad3ef665befe6e37c5f3b2835 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Mar 14 2021 14:40:59 +0000 Subject: Apply patch 0009-iproute-force-rtm_dst_len-to-32-128.patch patch_name: 0009-iproute-force-rtm_dst_len-to-32-128.patch present_in_specfile: true location_in_specfile: 9 --- diff --git a/ip/iproute.c b/ip/iproute.c index 05ec2c2..1f3c347 100644 --- a/ip/iproute.c +++ b/ip/iproute.c @@ -2067,7 +2067,18 @@ static int iproute_get(int argc, char **argv) if (addr.bytelen) addattr_l(&req.n, sizeof(req), RTA_DST, &addr.data, addr.bytelen); - req.r.rtm_dst_len = addr.bitlen; + if (req.r.rtm_family == AF_INET && addr.bitlen != 32) { + fprintf(stderr, + "Warning: /%u as prefix is invalid, only /32 (or none) is supported.\n", + addr.bitlen); + req.r.rtm_dst_len = 32; + } else if (req.r.rtm_family == AF_INET6 && addr.bitlen != 128) { + fprintf(stderr, + "Warning: /%u as prefix is invalid, only /128 (or none) is supported.\n", + addr.bitlen); + req.r.rtm_dst_len = 128; + } else + req.r.rtm_dst_len = addr.bitlen; address_found = true; } argc--; argv++;