]> git.puffer.fish Git - mirror/frr.git/commitdiff
eigrp: use correct memory pool on interface deletion 14567/head
authorVolodymyr Huti <v.huti@vyos.io>
Tue, 10 Oct 2023 16:10:18 +0000 (19:10 +0300)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Wed, 11 Oct 2023 14:19:23 +0000 (14:19 +0000)
Trying to delete an interface during the test test_eigrp_topo1.py triggers a crash.
```
EIGRP: abort+0x12b
EIGRP: _zlog_assert_failed+0x18c
EIGRP: mt_count_free+0x56
EIGRP: qfree+0x2e
EIGRP: eigrp_if_delete_hook+0x8c
EIGRP: hook_call_if_del+0x5f
EIGRP: if_delete_retain+0x1c
EIGRP: if_delete+0xfb
EIGRP: if_destroy_via_zapi+0x69
EIGRP: zclient_interface_delete+0x57
EIGRP: zclient_read+0x3d0
EIGRP: event_call+0xd8
EIGRP: frr_run+0x271
EIGRP: main+0x14b
EIGRP: __libc_start_main+0xf3
EIGRP: _start+0x2e
EIGRP: in thread zclient_read scheduled from lib/zclient.c:4514 zclient_event()
```

Signed-off-by: Volodymyr Huti <v.huti@vyos.io>
(cherry picked from commit 8ddf6a713f2003ccccb884a8c436ffeb2fe34c62)

eigrpd/eigrp_interface.c

index 2381977dbaefc6ca82975481fbb0317be48da7ab..7bb1617c1959ae7a192679b415680ae2b58b9051 100644 (file)
@@ -43,8 +43,7 @@
 #include "eigrpd/eigrp_types.h"
 #include "eigrpd/eigrp_metric.h"
 
-DEFINE_MTYPE_STATIC(EIGRPD, EIGRP_IF,      "EIGRP interface");
-DEFINE_MTYPE_STATIC(EIGRPD, EIGRP_IF_INFO, "EIGRP Interface Information");
+DEFINE_MTYPE_STATIC(EIGRPD, EIGRP_IF, "EIGRP interface");
 
 struct eigrp_interface *eigrp_if_new(struct eigrp *eigrp, struct interface *ifp,
                                     struct prefix *p)
@@ -110,7 +109,7 @@ int eigrp_if_delete_hook(struct interface *ifp)
 
        eigrp_fifo_free(ei->obuf);
 
-       XFREE(MTYPE_EIGRP_IF_INFO, ifp->info);
+       XFREE(MTYPE_EIGRP_IF, ifp->info);
 
        return 0;
 }