From: claudio Date: Tue, 10 Sep 2024 08:47:51 +0000 (+0000) Subject: AID_VPN_IPv4 and AID_VPN_IPv6 require a labellen that is non-zero. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=e5e5eb1a03d668899235cbf0657e8e22d2e7bacf;p=openbsd AID_VPN_IPv4 and AID_VPN_IPv6 require a labellen that is non-zero. OK tb@ --- diff --git a/usr.sbin/bgpd/rde_prefix.c b/usr.sbin/bgpd/rde_prefix.c index a6720b00b18..d813003870f 100644 --- a/usr.sbin/bgpd/rde_prefix.c +++ b/usr.sbin/bgpd/rde_prefix.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rde_prefix.c,v 1.51 2024/06/25 13:21:18 claudio Exp $ */ +/* $OpenBSD: rde_prefix.c,v 1.52 2024/09/10 08:47:51 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Claudio Jeker @@ -225,6 +225,8 @@ pt_fill(struct bgpd_addr *prefix, int prefixlen) pte_vpn4.prefixlen = prefixlen; pte_vpn4.rd = prefix->rd; pte_vpn4.labellen = prefix->labellen; + if (prefix->labellen == 0) + fatalx("pt_fill: no MPLS label in VPN addr"); memcpy(pte_vpn4.labelstack, prefix->labelstack, prefix->labellen); return ((struct pt_entry *)&pte_vpn4); @@ -239,6 +241,8 @@ pt_fill(struct bgpd_addr *prefix, int prefixlen) pte_vpn6.prefixlen = prefixlen; pte_vpn6.rd = prefix->rd; pte_vpn6.labellen = prefix->labellen; + if (prefix->labellen == 0) + fatalx("pt_fill: no MPLS label in VPN addr"); memcpy(pte_vpn6.labelstack, prefix->labelstack, prefix->labellen); return ((struct pt_entry *)&pte_vpn6);