MSan doesn't instrument stpncpy (https://github.com/google/sanitizers/issues/926), which causes the fuzzer to fail with: ``` $ cat ../minimized-from-740f56329efc60eab59b8194132b712a873e88a3 lxc.console.size=123 $ ./out/fuzz-lxc-config-read ../minimized-from-740f56329efc60eab59b8194132b712a873e88a3 INFO: Seed: 3561494591 INFO: Loaded 1 modules (18795 inline 8-bit counters): 18795 [0x866b98, 0x86b503), INFO: Loaded 1 PC tables (18795 PCs): 18795 [0x86b508,0x8b4bb8), ./out/fuzz-lxc-config-read: Running 1 inputs 1 time(s) each. Running: ../minimized-from-740f56329efc60eab59b8194132b712a873e88a3 ==850885==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x6b3e7f in parse_byte_size_string /home/vagrant/lxc/src/lxc/string_utils.c:912:6 #1 0x550991 in set_config_console_size /home/vagrant/lxc/src/lxc/confile.c:2483:8 #2 0x5346e2 in parse_line /home/vagrant/lxc/src/lxc/confile.c:2962:9 #3 0x64b3cd in lxc_file_for_each_line_mmap /home/vagrant/lxc/src/lxc/parse.c:125:9 #4 0x53340c in lxc_config_read /home/vagrant/lxc/src/lxc/confile.c:3039:9 #5 0x4e7ec2 in LLVMFuzzerTestOneInput /home/vagrant/lxc/src/tests/fuzz-lxc-config-read.c:23:2 #6 0x44ad2c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/vagrant/lxc/out/fuzz-lxc-config-read+0x44ad2c) #7 0x42ca4d in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) (/home/vagrant/lxc/out/fuzz-lxc-config-read+0x42ca4d) #8 0x433af0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/vagrant/lxc/out/fuzz-lxc-config-read+0x433af0) #9 0x423ff6 in main (/home/vagrant/lxc/out/fuzz-lxc-config-read+0x423ff6) #10 0x7f79bdc89081 in __libc_start_main (/lib64/libc.so.6+0x27081) #11 0x42402d in _start (/home/vagrant/lxc/out/fuzz-lxc-config-read+0x42402d) Uninitialized value was created by an allocation of 'dup' in the stack frame of function 'parse_byte_size_string' #0 0x6b3330 in parse_byte_size_string /home/vagrant/lxc/src/lxc/string_utils.c:901 SUMMARY: MemorySanitizer: use-of-uninitialized-value /home/vagrant/lxc/src/lxc/string_utils.c:912:6 in parse_byte_size_string Exiting ``` Closes https://oss-fuzz.com/testcase-detail/5829890470445056Signed-off-by:Evgeny Vereshchagin <evvers@ya.ru>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| cgroups | Loading commit data... | |
| cmd | Loading commit data... | |
| lsm | Loading commit data... | |
| pam | Loading commit data... | |
| storage | Loading commit data... | |
| tools | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| af_unix.c | Loading commit data... | |
| af_unix.h | Loading commit data... | |
| api_extensions.h | Loading commit data... | |
| attach.c | Loading commit data... | |
| attach.h | Loading commit data... | |
| attach_options.h | Loading commit data... | |
| caps.c | Loading commit data... | |
| caps.h | Loading commit data... | |
| commands.c | Loading commit data... | |
| commands.h | Loading commit data... | |
| commands_utils.c | Loading commit data... | |
| commands_utils.h | Loading commit data... | |
| compiler.h | Loading commit data... | |
| conf.c | Loading commit data... | |
| conf.h | Loading commit data... | |
| confile.c | Loading commit data... | |
| confile.h | Loading commit data... | |
| confile_utils.c | Loading commit data... | |
| confile_utils.h | Loading commit data... | |
| criu.c | Loading commit data... | |
| criu.h | Loading commit data... | |
| error.c | Loading commit data... | |
| error.h | Loading commit data... | |
| error_utils.h | Loading commit data... | |
| execute.c | Loading commit data... | |
| file_utils.c | Loading commit data... | |
| file_utils.h | Loading commit data... | |
| freezer.c | Loading commit data... | |
| initutils.c | Loading commit data... | |
| initutils.h | Loading commit data... | |
| list.h | Loading commit data... | |
| log.c | Loading commit data... | |
| log.h | Loading commit data... | |
| lxc.functions.in | Loading commit data... | |
| lxc.h | Loading commit data... | |
| lxccontainer.c | Loading commit data... | |
| lxccontainer.h | Loading commit data... | |
| lxclock.c | Loading commit data... | |
| lxclock.h | Loading commit data... | |
| lxcseccomp.h | Loading commit data... | |
| macro.h | Loading commit data... | |
| mainloop.c | Loading commit data... | |
| mainloop.h | Loading commit data... | |
| memory_utils.h | Loading commit data... | |
| monitor.c | Loading commit data... | |
| monitor.h | Loading commit data... | |
| mount_utils.c | Loading commit data... | |
| mount_utils.h | Loading commit data... | |
| namespace.c | Loading commit data... | |
| namespace.h | Loading commit data... | |
| network.c | Loading commit data... | |
| network.h | Loading commit data... | |
| nl.c | Loading commit data... | |
| nl.h | Loading commit data... | |
| parse.c | Loading commit data... | |
| parse.h | Loading commit data... | |
| process_utils.c | Loading commit data... | |
| process_utils.h | Loading commit data... | |
| rexec.c | Loading commit data... | |
| rexec.h | Loading commit data... | |
| ringbuf.c | Loading commit data... | |
| ringbuf.h | Loading commit data... | |
| rtnl.c | Loading commit data... | |
| rtnl.h | Loading commit data... | |
| seccomp.c | Loading commit data... | |
| start.c | Loading commit data... | |
| start.h | Loading commit data... | |
| state.c | Loading commit data... | |
| state.h | Loading commit data... | |
| string_utils.c | Loading commit data... | |
| string_utils.h | Loading commit data... | |
| sync.c | Loading commit data... | |
| sync.h | Loading commit data... | |
| syscall_numbers.h | Loading commit data... | |
| syscall_wrappers.h | Loading commit data... | |
| terminal.c | Loading commit data... | |
| terminal.h | Loading commit data... | |
| utils.c | Loading commit data... | |
| utils.h | Loading commit data... | |
| uuid.c | Loading commit data... | |
| uuid.h | Loading commit data... | |
| version.h.in | Loading commit data... |