mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 13:43:22 +00:00 
			
		
		
		
	Revert "bgpd: fix illegal memory access in bgp_ls_tlv_check_size()"
This reverts commitdae5791c44. (cherry picked from commit73a4891ab3)
This commit is contained in:
		
							parent
							
								
									0f02b85a18
								
							
						
					
					
						commit
						609ee2bd4b
					
				@ -31,7 +31,7 @@ struct bgp_linkstate_tlv_info {
 | 
				
			|||||||
#define UNDEF_MULTPL 1
 | 
					#define UNDEF_MULTPL 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* clang-format off */
 | 
					/* clang-format off */
 | 
				
			||||||
struct bgp_linkstate_tlv_info bgp_linkstate_tlv_infos[BGP_LS_TLV_MAX + 1] = {
 | 
					struct bgp_linkstate_tlv_info bgp_linkstate_tlv_infos[BGP_LS_TLV_MAX] = {
 | 
				
			||||||
	/* NLRI TLV */
 | 
						/* NLRI TLV */
 | 
				
			||||||
	[BGP_LS_TLV_LOCAL_NODE_DESCRIPTORS] = {"Local Node Descriptors", 1, MAX_SZ, UNDEF_MULTPL},
 | 
						[BGP_LS_TLV_LOCAL_NODE_DESCRIPTORS] = {"Local Node Descriptors", 1, MAX_SZ, UNDEF_MULTPL},
 | 
				
			||||||
	[BGP_LS_TLV_REMOTE_NODE_DESCRIPTORS] = {"Remote Node Descriptors", 1, MAX_SZ, UNDEF_MULTPL},
 | 
						[BGP_LS_TLV_REMOTE_NODE_DESCRIPTORS] = {"Remote Node Descriptors", 1, MAX_SZ, UNDEF_MULTPL},
 | 
				
			||||||
@ -1705,7 +1705,7 @@ void bgp_linkstate_tlv_attribute_display(struct vty *vty,
 | 
				
			|||||||
			json_tlv = json_object_new_object();
 | 
								json_tlv = json_object_new_object();
 | 
				
			||||||
			json_object_object_add(json, tlv_type, json_tlv);
 | 
								json_object_object_add(json, tlv_type, json_tlv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (type <= BGP_LS_TLV_MAX &&
 | 
								if (type < BGP_LS_TLV_MAX &&
 | 
				
			||||||
			    bgp_linkstate_tlv_infos[type].descr != NULL)
 | 
								    bgp_linkstate_tlv_infos[type].descr != NULL)
 | 
				
			||||||
				json_object_string_add(
 | 
									json_object_string_add(
 | 
				
			||||||
					json_tlv, "description",
 | 
										json_tlv, "description",
 | 
				
			||||||
@ -1720,7 +1720,7 @@ void bgp_linkstate_tlv_attribute_display(struct vty *vty,
 | 
				
			|||||||
					"too high length received: %u", length);
 | 
										"too high length received: %u", length);
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if (type <= BGP_LS_TLV_MAX &&
 | 
								if (type < BGP_LS_TLV_MAX &&
 | 
				
			||||||
			    bgp_linkstate_tlv_infos[type].descr != NULL &&
 | 
								    bgp_linkstate_tlv_infos[type].descr != NULL &&
 | 
				
			||||||
			    !bgp_ls_tlv_check_size(type, length))
 | 
								    !bgp_ls_tlv_check_size(type, length))
 | 
				
			||||||
				json_object_string_addf(
 | 
									json_object_string_addf(
 | 
				
			||||||
@ -1728,7 +1728,7 @@ void bgp_linkstate_tlv_attribute_display(struct vty *vty,
 | 
				
			|||||||
					"unexpected length received: %u",
 | 
										"unexpected length received: %u",
 | 
				
			||||||
					length);
 | 
										length);
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			if (type <= BGP_LS_TLV_MAX &&
 | 
								if (type < BGP_LS_TLV_MAX &&
 | 
				
			||||||
			    bgp_linkstate_tlv_infos[type].descr != NULL)
 | 
								    bgp_linkstate_tlv_infos[type].descr != NULL)
 | 
				
			||||||
				vty_out(vty, "%*s%s: ", indent, "",
 | 
									vty_out(vty, "%*s%s: ", indent, "",
 | 
				
			||||||
					bgp_linkstate_tlv_infos[type].descr);
 | 
										bgp_linkstate_tlv_infos[type].descr);
 | 
				
			||||||
 | 
				
			|||||||
@ -197,7 +197,7 @@ enum bgp_linkstate_tlv {
 | 
				
			|||||||
		1251, /* draft-ietf-idr-bgpls-srv6-ext-08 */
 | 
							1251, /* draft-ietf-idr-bgpls-srv6-ext-08 */
 | 
				
			||||||
	BGP_LS_TLV_SRV6_SID_STRUCTURE_TLV =
 | 
						BGP_LS_TLV_SRV6_SID_STRUCTURE_TLV =
 | 
				
			||||||
		1252,	       /* draft-ietf-idr-bgpls-srv6-ext-08 */
 | 
							1252,	       /* draft-ietf-idr-bgpls-srv6-ext-08 */
 | 
				
			||||||
	BGP_LS_TLV_MAX = 1252, /* max TLV value for table size*/
 | 
						BGP_LS_TLV_MAX = 1253, /* max TLV value for table size*/
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* RFC7752 #3.2.1.4 IGP router-ID */
 | 
					/* RFC7752 #3.2.1.4 IGP router-ID */
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user