From: Michal Bloch Date: Tue, 2 Jun 2020 15:56:23 +0000 (+0200) Subject: Fix garbage data in long-format strings X-Git-Tag: submit/tizen/20200603.194620^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=31304afd2c731929d95e8e5f1465e78a55da1f8b;p=platform%2Fcore%2Fsystem%2Fdlog.git Fix garbage data in long-format strings Change-Id: Ie271b8ca58f0cc018fb13b306f66f0fdf02af2e4 Signed-off-by: Michal Bloch --- diff --git a/src/shared/logprint.c b/src/shared/logprint.c index 69284d0..85f2162 100644 --- a/src/shared/logprint.c +++ b/src/shared/logprint.c @@ -1099,8 +1099,17 @@ char *log_format_log_line( inline void append_line(const char *line, size_t len) { add_prefix(); - strncat(p, line, SPACE_LEFT < len ? SPACE_LEFT : len); + + /* The message may contain garbage at the end. + * In particular, pipe messages get artificially + * lengthened for alignment purposes which can + * leave garbage in those extra bytes. */ + len = strnlen(line, len); + + len = min_int(SPACE_LEFT, len); + strncat(p, line, len); p += len; + add_suffix(); } #undef SPACE_LEFT