components/quagga/patches/23-cve-2011-3327.patch
branchs11-sru
changeset 2239 f0bde9a421fe
parent 2238 cc3545c342fd
child 2240 de14ec92a8a8
equal deleted inserted replaced
2238:cc3545c342fd 2239:f0bde9a421fe
     1 --- bgpd/bgp_ecommunity.c
       
     2 +++ bgpd/bgp_ecommunity.c
       
     3 @@ -568,6 +568,13 @@
       
     4  
       
     5    for (i = 0; i < ecom->size; i++)
       
     6      {
       
     7 +      /* Make sure the size is large enough. */
       
     8 +      while (str_pnt + ECOMMUNITY_STR_DEFAULT_LEN >= str_size)
       
     9 +	{
       
    10 +	  str_size *= 2;
       
    11 +	  str_buf = XREALLOC (MTYPE_ECOMMUNITY_STR, str_buf, str_size);
       
    12 +	}
       
    13 +
       
    14        /* Space between each value.  */
       
    15        if (! first)
       
    16  	str_buf[str_pnt++] = ' ';
       
    17 @@ -610,13 +617,6 @@
       
    18  	  break;
       
    19  	}
       
    20  
       
    21 -      /* Make it sure size is enough.  */
       
    22 -      while (str_pnt + ECOMMUNITY_STR_DEFAULT_LEN >= str_size)
       
    23 -	{
       
    24 -	  str_size *= 2;
       
    25 -	  str_buf = XREALLOC (MTYPE_ECOMMUNITY_STR, str_buf, str_size);
       
    26 -	}
       
    27 -
       
    28        /* Put string into buffer.  */
       
    29        if (encode == ECOMMUNITY_ENCODE_AS)
       
    30  	{