diff options
| author | Jafar Al-Gharaibeh <jafar@atcorp.com> | 2025-02-06 16:55:32 -0600 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-06 16:55:32 -0600 | 
| commit | fc4e1364721c38daaf4c836a1365985d1cdf4010 (patch) | |
| tree | ff8113937478e26ff163db1f1ef31aaea5905aaa /pimd | |
| parent | 52a0d1691c76e53d2ff3b4b0f631012a8b794f66 (diff) | |
| parent | c0e3a5cf414071956706ed33527255a8da98a786 (diff) | |
Merge pull request #18044 from FRRouting/mergify/bp/stable/10.2/pr-18038
pimd: fix memory leak and assign allocation type (backport #18038)
Diffstat (limited to 'pimd')
| -rw-r--r-- | pimd/pim_memory.c | 1 | ||||
| -rw-r--r-- | pimd/pim_memory.h | 1 | ||||
| -rw-r--r-- | pimd/pim_msdp.c | 2 | ||||
| -rw-r--r-- | pimd/pim_nb_config.c | 12 | 
4 files changed, 10 insertions, 6 deletions
diff --git a/pimd/pim_memory.c b/pimd/pim_memory.c index 2c35bc6473..f918cbd146 100644 --- a/pimd/pim_memory.c +++ b/pimd/pim_memory.c @@ -26,6 +26,7 @@ DEFINE_MTYPE(PIMD, PIM_STATIC_ROUTE, "PIM Static Route");  DEFINE_MTYPE(PIMD, PIM_RP, "PIM RP info");  DEFINE_MTYPE(PIMD, PIM_FILTER_NAME, "PIM RP filter info");  DEFINE_MTYPE(PIMD, PIM_MSDP_PEER, "PIM MSDP peer"); +DEFINE_MTYPE(PIMD, PIM_MSDP_FILTER_NAME, "PIM MSDP peer filter name");  DEFINE_MTYPE(PIMD, PIM_MSDP_MG_NAME, "PIM MSDP mesh-group name");  DEFINE_MTYPE(PIMD, PIM_MSDP_AUTH_KEY, "PIM MSDP authentication key");  DEFINE_MTYPE(PIMD, PIM_MSDP_SA, "PIM MSDP source-active cache"); diff --git a/pimd/pim_memory.h b/pimd/pim_memory.h index b44d3e191a..5c9bdad50c 100644 --- a/pimd/pim_memory.h +++ b/pimd/pim_memory.h @@ -25,6 +25,7 @@ DECLARE_MTYPE(PIM_STATIC_ROUTE);  DECLARE_MTYPE(PIM_RP);  DECLARE_MTYPE(PIM_FILTER_NAME);  DECLARE_MTYPE(PIM_MSDP_PEER); +DECLARE_MTYPE(PIM_MSDP_FILTER_NAME);  DECLARE_MTYPE(PIM_MSDP_MG_NAME);  DECLARE_MTYPE(PIM_MSDP_SA);  DECLARE_MTYPE(PIM_MSDP_MG); diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c index 215cc3c502..982de36941 100644 --- a/pimd/pim_msdp.c +++ b/pimd/pim_msdp.c @@ -1110,6 +1110,8 @@ static void pim_msdp_peer_free(struct pim_msdp_peer *mp)  	if (mp->auth_listen_sock != -1)  		close(mp->auth_listen_sock); +	XFREE(MTYPE_PIM_MSDP_FILTER_NAME, mp->acl_in); +	XFREE(MTYPE_PIM_MSDP_FILTER_NAME, mp->acl_out);  	XFREE(MTYPE_PIM_MSDP_MG_NAME, mp->mesh_group_name);  	mp->pim = NULL; diff --git a/pimd/pim_nb_config.c b/pimd/pim_nb_config.c index ea8b56fee3..637780ca0f 100644 --- a/pimd/pim_nb_config.c +++ b/pimd/pim_nb_config.c @@ -1387,8 +1387,8 @@ int pim_msdp_peer_sa_filter_in_modify(struct nb_cb_modify_args *args)  		break;  	case NB_EV_APPLY:  		mp = nb_running_get_entry(args->dnode, NULL, true); -		XFREE(MTYPE_TMP, mp->acl_in); -		mp->acl_in = XSTRDUP(MTYPE_TMP, +		XFREE(MTYPE_PIM_MSDP_FILTER_NAME, mp->acl_in); +		mp->acl_in = XSTRDUP(MTYPE_PIM_MSDP_FILTER_NAME,  				     yang_dnode_get_string(args->dnode, NULL));  		break;  	} @@ -1408,7 +1408,7 @@ int pim_msdp_peer_sa_filter_in_destroy(struct nb_cb_destroy_args *args)  		break;  	case NB_EV_APPLY:  		mp = nb_running_get_entry(args->dnode, NULL, true); -		XFREE(MTYPE_TMP, mp->acl_in); +		XFREE(MTYPE_PIM_MSDP_FILTER_NAME, mp->acl_in);  		break;  	} @@ -1431,8 +1431,8 @@ int pim_msdp_peer_sa_filter_out_modify(struct nb_cb_modify_args *args)  		break;  	case NB_EV_APPLY:  		mp = nb_running_get_entry(args->dnode, NULL, true); -		XFREE(MTYPE_TMP, mp->acl_out); -		mp->acl_out = XSTRDUP(MTYPE_TMP, +		XFREE(MTYPE_PIM_MSDP_FILTER_NAME, mp->acl_out); +		mp->acl_out = XSTRDUP(MTYPE_PIM_MSDP_FILTER_NAME,  				      yang_dnode_get_string(args->dnode, NULL));  		break;  	} @@ -1452,7 +1452,7 @@ int pim_msdp_peer_sa_filter_out_destroy(struct nb_cb_destroy_args *args)  		break;  	case NB_EV_APPLY:  		mp = nb_running_get_entry(args->dnode, NULL, true); -		XFREE(MTYPE_TMP, mp->acl_out); +		XFREE(MTYPE_PIM_MSDP_FILTER_NAME, mp->acl_out);  		break;  	}  | 
