]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_spf_private.h
zebra: Fix label manager memory leak (#5680)
[mirror_frr.git] / isisd / isis_spf_private.h
index 453abfedd89377a6097fd5ab90c3aae4403d501c..a8185a8be0fec76b0a5170457d87d453e9f9d503 100644 (file)
@@ -79,9 +79,9 @@ struct isis_vertex_queue {
 };
 
 __attribute__((__unused__))
-static unsigned isis_vertex_queue_hash_key(void *vp)
+static unsigned isis_vertex_queue_hash_key(const void *vp)
 {
-       struct isis_vertex *vertex = vp;
+       const struct isis_vertex *vertex = vp;
 
        if (VTYPE_IP(vertex->type)) {
                uint32_t key;
@@ -95,16 +95,16 @@ static unsigned isis_vertex_queue_hash_key(void *vp)
 }
 
 __attribute__((__unused__))
-static int isis_vertex_queue_hash_cmp(const void *a, const void *b)
+static bool isis_vertex_queue_hash_cmp(const void *a, const void *b)
 {
        const struct isis_vertex *va = a, *vb = b;
 
        if (va->type != vb->type)
-               return 0;
+               return false;
 
        if (VTYPE_IP(va->type)) {
                if (prefix_cmp(&va->N.ip.dest, &vb->N.ip.dest))
-                       return 0;
+                       return false;
 
                return prefix_cmp((const struct prefix *)&va->N.ip.src,
                                  (const struct prefix *)&vb->N.ip.src) == 0;
@@ -168,8 +168,8 @@ static void isis_vertex_queue_init(struct isis_vertex_queue *queue,
 __attribute__((__unused__))
 static void isis_vertex_del(struct isis_vertex *vertex)
 {
-       list_delete_and_null(&vertex->Adj_N);
-       list_delete_and_null(&vertex->parents);
+       list_delete(&vertex->Adj_N);
+       list_delete(&vertex->parents);
        if (vertex->firsthops) {
                hash_clean(vertex->firsthops, NULL);
                hash_free(vertex->firsthops);
@@ -212,7 +212,7 @@ static void isis_vertex_queue_free(struct isis_vertex_queue *queue)
                skiplist_free(queue->l.slist);
                queue->l.slist = NULL;
        } else
-               list_delete_and_null(&queue->l.list);
+               list_delete(&queue->l.list);
 }
 
 __attribute__((__unused__))
@@ -347,8 +347,8 @@ static struct isis_lsp *lsp_for_vertex(struct isis_spftree *spftree,
        memcpy(lsp_id, vertex->N.id, ISIS_SYS_ID_LEN + 1);
        LSP_FRAGMENT(lsp_id) = 0;
 
-       dict_t *lspdb = spftree->area->lspdb[spftree->level - 1];
-       struct isis_lsp *lsp = lsp_search(lsp_id, lspdb);
+       struct lspdb_head *lspdb = &spftree->area->lspdb[spftree->level - 1];
+       struct isis_lsp *lsp = lsp_search(lspdb, lsp_id);
 
        if (lsp && lsp->hdr.rem_lifetime != 0)
                return lsp;