liblog: logprint: deal with malformed log messages
am: 476b771
* commit '476b771bdaebf7aa72d41730557fce82cee7faf3':
liblog: logprint: deal with malformed log messages
This commit is contained in:
commit
128c0f7081
|
@ -512,8 +512,18 @@ LIBLOG_ABI_PUBLIC int android_log_processLogBuffer(
|
|||
}
|
||||
|
||||
if (msgStart == -1) {
|
||||
fprintf(stderr, "+++ LOG: malformed log message\n");
|
||||
return -1;
|
||||
/* +++ LOG: malformed log message, DYB */
|
||||
for (i = 1; i < buf->len; i++) {
|
||||
/* odd characters in tag? */
|
||||
if ((msg[i] <= ' ') || (msg[i] == ':') || (msg[i] >= 0x7f)) {
|
||||
msg[i] = '\0';
|
||||
msgStart = i + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (msgStart == -1) {
|
||||
msgStart = buf->len - 1; /* All tag, no message, print truncates */
|
||||
}
|
||||
}
|
||||
if (msgEnd == -1) {
|
||||
/* incoming message not null-terminated; force it */
|
||||
|
|
|
@ -1065,8 +1065,10 @@ TEST(liblog, __android_log_buf_print__maxtag) {
|
|||
fflush(stderr);
|
||||
int printLogLine =
|
||||
android_log_printLogLine(logformat, fileno(stderr), &entry);
|
||||
// Legacy tag truncation
|
||||
EXPECT_LE(128, printLogLine);
|
||||
EXPECT_GT(LOGGER_ENTRY_MAX_PAYLOAD, printLogLine);
|
||||
// Measured maximum if we try to print part of the tag as message
|
||||
EXPECT_GT(LOGGER_ENTRY_MAX_PAYLOAD * 13 / 8, printLogLine);
|
||||
}
|
||||
android_log_format_free(logformat);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue