mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 23:09:34 +00:00
Merge pull request #7602 from donaldsharp/ldp_use_after_free
ldpd: Prevent usage after free
This commit is contained in:
commit
68cd847ee6
@ -73,6 +73,7 @@ struct ldpd_conf *ldeconf;
|
|||||||
struct nbr_tree lde_nbrs = RB_INITIALIZER(&lde_nbrs);
|
struct nbr_tree lde_nbrs = RB_INITIALIZER(&lde_nbrs);
|
||||||
|
|
||||||
static struct imsgev *iev_ldpe;
|
static struct imsgev *iev_ldpe;
|
||||||
|
static struct imsgev iev_main_sync_data;
|
||||||
static struct imsgev *iev_main, *iev_main_sync;
|
static struct imsgev *iev_main, *iev_main_sync;
|
||||||
|
|
||||||
/* lde privileges */
|
/* lde privileges */
|
||||||
@ -148,8 +149,8 @@ lde(void)
|
|||||||
&iev_main->ev_read);
|
&iev_main->ev_read);
|
||||||
iev_main->handler_write = ldp_write_handler;
|
iev_main->handler_write = ldp_write_handler;
|
||||||
|
|
||||||
if ((iev_main_sync = calloc(1, sizeof(struct imsgev))) == NULL)
|
memset(&iev_main_sync_data, 0, sizeof(iev_main_sync_data));
|
||||||
fatal(NULL);
|
iev_main_sync = &iev_main_sync_data;
|
||||||
imsg_init(&iev_main_sync->ibuf, LDPD_FD_SYNC);
|
imsg_init(&iev_main_sync->ibuf, LDPD_FD_SYNC);
|
||||||
|
|
||||||
/* create base configuration */
|
/* create base configuration */
|
||||||
@ -203,7 +204,6 @@ lde_shutdown(void)
|
|||||||
if (iev_ldpe)
|
if (iev_ldpe)
|
||||||
free(iev_ldpe);
|
free(iev_ldpe);
|
||||||
free(iev_main);
|
free(iev_main);
|
||||||
free(iev_main_sync);
|
|
||||||
|
|
||||||
log_info("label decision engine exiting");
|
log_info("label decision engine exiting");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user