diff options
author | Martin Willers <M.Willers@gmx.net> | 2020-11-17 01:27:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-17 09:27:36 +0900 |
commit | e584855b2289fd8155b837f00f67343cc9cd8f66 (patch) | |
tree | 81782f1406d059cffac71c42801aa10e19a2af0e /tests/testfile_filetransfer.txt | |
parent | 347f25f267538773e9d2591cc1d55aebfe8f998f (diff) | |
download | DLT-daemon-e584855b2289fd8155b837f00f67343cc9cd8f66.tar.gz |
Avoid memory access errors with 4-chars context ids (#250)
For a 4-chars CTXID, i.e. one that does not include a null character,
the strlen() calls were happily accessing memory until they eventually
encountered a null character somewhere in memory.
This was detected by valgrind, which reported a memory error when
using a CTXID such as "INTM":
==21924== Conditional jump or move depends on uninitialised value(s)
==21924== at 0x4C30F78: strlen (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21924== by 0x4E4B5A0: dlt_print_id (dlt_common.c:303)
==21924== by 0x4E4CF47: dlt_message_header_flags (dlt_common.c:687)
==21924== by 0x4E51434: dlt_message_print_ascii (dlt_common.c:3169)
==21924== by 0x4E4247A: dlt_user_print_msg (dlt_user.c:4108)
==21924== by 0x4E46D92: dlt_user_log_send_log (dlt_user.c:3670)
==21924== by 0x4E46F14: dlt_user_log_write_finish (dlt_user.c:1611)
Sanitize some code
Using memset() and memcpy() is always preferable to hand-rolled loops,
because compilers have built-in support for them.
Signed-off-by: Martin Willers <M.Willers@gmx.net>
Diffstat (limited to 'tests/testfile_filetransfer.txt')
0 files changed, 0 insertions, 0 deletions