Hi Baptiste!
On 2016-04-26 16:46, Baptiste Jonglez wrote:
Hi,
I have been experimenting with the mrtdump branch (commit cc4eee62) on
Debian jessie.
Thank you for testing experimental code from GIT!
However, when using a moderately long filename, Bird crashes.
For instance:
birdc6 'mrtdump routes to "/bird/mrtdump/rib.ipv6.20160426.1209"'
BIRD 1.5.0 ready.
Connection closed by server.
The logs are the following:
bird6[8314]: Unable to open file "<too-long>" for MRT dump of table
master
systemd[1]: bird6.service: main process exited, code=killed,
status=11/SEGV
systemd[1]: Unit bird6.service entered failed state.
kernel: bird6[8314]: segfault at 18 ip 00007fb05162a905 sp
00007ffe1194f5a0 error 4 in bird6[7fb051602000+76000]
It looks like TM_DATETIME_BUFFER_SIZE, as used in tm_format_datetime(),
is
really too small (32 bytes). Also, there seems to be an issue with
error
handling (segfault when tm_format_datetime returns unexpected data).
When defining a higher value for TM_DATETIME_BUFFER_SIZE, bird does not
crash anymore, but there is certainly a better solution.
Yes, exactly. I'll send a patch tomorrow!
Thanks,
Baptiste