diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-10-07 08:53:35 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-10-10 12:27:17 -0400 |
| commit | a3acf37dc262f7f91fbda00d242af64e89b425c8 (patch) | |
| tree | 0bb3e00845280e29093e41f7ffd8f4943e5fbc61 | |
| parent | 5d920111b9d5b460052a257656f58d8c093c236f (diff) | |
isisd: Fix leaked memory in error case
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
| -rw-r--r-- | isisd/isis_pdu.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c index be989cbabb..9c68fe5966 100644 --- a/isisd/isis_pdu.c +++ b/isisd/isis_pdu.c @@ -1546,8 +1546,11 @@ int send_hello(struct isis_circuit *circuit, int level) isis_tlvs_add_auth(tlvs, &circuit->passwd); - if (!listcount(circuit->area->area_addrs)) + if (!listcount(circuit->area->area_addrs)) { + isis_free_tlvs(tlvs); return ISIS_WARNING; + } + isis_tlvs_add_area_addresses(tlvs, circuit->area->area_addrs); if (circuit->circ_type == CIRCUIT_T_BROADCAST) |
