<p>i have startet gdb, and walked through the code,.. and after training my previously unexisting debugging skills with gdb on this code i found the reason,..</p><p>this parser has a buffer of 512 bytes,..<br></p><p>and multi line config file blocks (e.g. plugins and interfaces), get strcat-ed into a single buffer at line 1297 of olsr_cfg.c</p>
<p>if such a block gets larger than 512 bytes we are f* up, [#]</p><p>as this is easy reachable with multiple interfaces or lqmults or an httplugin with many whitelisted ips / networks, this is very dangerous,..</p><p>and imho this whole parser code looks dangerous not only there,.. </p>
<p>i would say it`s the least readable code in olsrd i found till now,..</p><p>Markus</p><p># and i already run into this problem on a node with an interface block having 760 character, and 561 after stripping whitespace</p>