]> git.ipfire.org Git - thirdparty/bird.git/commit
Conf: Fixes bug in symbol lookup during reconfiguration
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Sun, 8 Nov 2015 23:42:02 +0000 (00:42 +0100)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Sun, 8 Nov 2015 23:42:02 +0000 (00:42 +0100)
commit9b9a7143c43d01f0459d40363d56e9c7690c596f
tree45571f60f4e3582cd4c0c17c3f1de1c3a2da35dc
parent3aed0a6ff7b2b811a535202fd787281d2ac33409
Conf: Fixes bug in symbol lookup during reconfiguration

Symbol lookup by cf_find_symbol() not only did the lookup but also added
new void symbols allocated from cfg_mem linpool, which gets broken when
lookups are done outside of config parsing, which may lead to crashes
during reconfiguration.

The patch separates lookup-only cf_find_symbol() and config-modifying
cf_get_symbol(), while the later is called only during parsing. Also
new_config and cfg_mem global variables are NULLed outside of parsing.
conf/cf-lex.l
conf/conf.c
conf/conf.h
nest/proto.c
nest/rt-roa.c
nest/rt-table.c
sysdep/unix/main.c