mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-08 12:18:42 +00:00
Conf: Fix crash during shutdown
BIRD implements shutdown by reconfiguring to fake empty configuration. Such fake config structure is created from the last running config and shares some data, including symbol table. This allows access to (removed) routing tables and causes crash when 'show route' command is used during shutdown. Clean up symbol table, table list and links to default tables, so removed routing tables cannot be accessed during shutdown.
This commit is contained in:
parent
f761be6b30
commit
9f24fef5e9
@ -520,6 +520,9 @@ order_shutdown(int gr)
|
|||||||
memcpy(c, config, sizeof(struct config));
|
memcpy(c, config, sizeof(struct config));
|
||||||
init_list(&c->protos);
|
init_list(&c->protos);
|
||||||
init_list(&c->tables);
|
init_list(&c->tables);
|
||||||
|
init_list(&c->symbols);
|
||||||
|
memset(c->def_tables, 0, sizeof(c->def_tables));
|
||||||
|
HASH_INIT(c->sym_hash, c->pool, 4);
|
||||||
c->shutdown = 1;
|
c->shutdown = 1;
|
||||||
c->gr_down = gr;
|
c->gr_down = gr;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user