When CONFIG_LOG_USE_TAGGED_ARGUMENTS is enabled, and CONFIG_CBPRINTF_COMPLETE is also enabled, we should not be blindly skipping tags when processing the tagged package for output. The issue is that if there is a "%%" in the format string, the specifier is considered invalid but the code blindly skips ahead in the argument list as if it is a valid specifier (think "%s"), which resulting in the next valid specifier using incorrect argument in the list. So fix it by skipping ahead if and only if the specifier is not invalid. Fixes #68271 Signed-off-by: Daniel Leung <daniel.leung@intel.com> |
||
|---|---|---|
| .. | ||
| assert.c | ||
| cbprintf_complete.c | ||
| cbprintf_nano.c | ||
| cbprintf_packaged.c | ||
| cbprintf.c | ||
| CMakeLists.txt | ||
| fdtable.c | ||
| Kconfig | ||
| Kconfig.cbprintf | ||
| mpsc_pbuf.c | ||
| mutex.c | ||
| p4wq.c | ||
| poweroff.c | ||
| printk.c | ||
| reboot.c | ||
| sem.c | ||
| spsc_pbuf.c | ||
| thread_entry.c | ||
| user_work.c | ||