equal
deleted
inserted
replaced
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 { |
|