diff options
author | Daniel Mack <github@zonque.org> | 2016-07-07 06:30:34 +0200 |
---|---|---|
committer | Evgeny Vereshchagin <evvers@ya.ru> | 2016-07-07 07:30:34 +0300 |
commit | 79c954405fd77e36c5567767676b81b79ed80ed5 (patch) | |
tree | 88f2ae21e6027c21912d1b4fc29b0e7ab870615d /src/core | |
parent | 4d89618a4eb048704b37fec37eaa7b4cef66e6e9 (diff) |
basic: log: Increase static buffer for source file location (#3674)
Commit d054f0a4 ("tree-wide: use xsprintf() where applicable") used a
semantic patch approach to change a number of locations from
snprintf(buf, sizeof(buf), FMT, ...)
to
xsprintf(buf, FMT, ...)
The problem is that xsprintf() wraps the snprintf() in an
assert_message_se(), so if snprintf() reports an overflow of the
destination buffer, the binary will now terminate.
This hit a user running a version of systemd that was built from a
deeply nested system path.
Fix this by
a) Switching back to snprintf() for this particular case. We should really
rather truncate the location string than crash in such situations.
b) Increasing the size of that static string buffer, to make the event more
unlikely.
Diffstat (limited to 'src/core')
0 files changed, 0 insertions, 0 deletions