mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	Fixes serious bug in BGP add-path
Temporary rta is reused in BGP, while rta_lookup() breaks it. Thanks to Alexander Chernikov for analysing the problem.
This commit is contained in:
		@@ -999,7 +999,11 @@ bgp_rte_update(struct bgp_proto *p, ip_addr prefix, int pxlen,
 | 
			
		||||
  if (!*a)
 | 
			
		||||
    {
 | 
			
		||||
      a0->src = *src;
 | 
			
		||||
 | 
			
		||||
      /* Workaround for rta_lookup() breaking eattrs */
 | 
			
		||||
      ea_list *ea = a0->eattrs;
 | 
			
		||||
      *a = rta_lookup(a0);
 | 
			
		||||
      a0->eattrs = ea;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  net *n = net_get(p->p.table, prefix, pxlen);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user