]> git.puffer.fish Git - mirror/frr.git/commitdiff
* isis_lsp.c: Less TLV leaking.
authorhasso <hasso>
Fri, 2 Sep 2005 01:38:16 +0000 (01:38 +0000)
committerhasso <hasso>
Fri, 2 Sep 2005 01:38:16 +0000 (01:38 +0000)
isisd/ChangeLog
isisd/isis_lsp.c

index 67ef913988ea429d5baa6d7ff29c8c1fa3d01621..f2e0f51aeedbe839510e3bb173909db10c8b6459 100644 (file)
@@ -1,3 +1,7 @@
+2005-09-01 Hasso Tepper <hasso at quagga.net>
+
+       * isis_lsp.c: Less TLV leaking.
+
 2005-09-01 Hasso Tepper <hasso at quagga.net>
 
        * random.c, spgrid.[ch]: Fix warnings with hope that I didn't broke
index 52896c4e869eed5f21761d9c1859b0a04a5d63de..a425b341c2e525f62ac81f41025bf67be79d3d7e 100644 (file)
@@ -1330,7 +1330,10 @@ lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
   if (router_id_zebra.s_addr != 0)
     {
       if (lsp->tlv_data.ipv4_addrs == NULL)
-       lsp->tlv_data.ipv4_addrs = list_new ();
+       {
+         lsp->tlv_data.ipv4_addrs = list_new ();
+         lsp->tlv_data.ipv4_addrs->del = free_tlv;
+       }
 
       routerid = XMALLOC (MTYPE_ISIS_TLV, sizeof (struct in_addr));
       routerid->s_addr = router_id_zebra.s_addr;
@@ -1362,6 +1365,7 @@ lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
          if (tlv_data.ipv4_int_reachs == NULL)
            {
              tlv_data.ipv4_int_reachs = list_new ();
+             tlv_data.ipv4_int_reachs->del = free_tlv;
            }
           for (ALL_LIST_ELEMENTS (circuit->ip_addrs, ipnode, ipnnode, ipv4))
            {
@@ -1386,6 +1390,7 @@ lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
          if (tlv_data.ipv6_reachs == NULL)
            {
              tlv_data.ipv6_reachs = list_new ();
+             tlv_data.ipv6_reachs->del = free_tlv;
            }
           for (ALL_LIST_ELEMENTS (circuit->ipv6_non_link, ipnode, ipnnode,
                                   ipv6))
@@ -1413,6 +1418,7 @@ lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
              if (tlv_data.is_neighs == NULL)
                {
                  tlv_data.is_neighs = list_new ();
+                 tlv_data.is_neighs->del = free_tlv;
                }
              is_neigh = XCALLOC (MTYPE_ISIS_TLV, sizeof (struct is_neigh));
              if (level == 1)