Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abdb758e authored by Mark Salyzyn's avatar Mark Salyzyn Committed by Gerrit Code Review
Browse files

Merge "liblog: logprint: deal with malformed log messages"

parents b27026f9 083c5346
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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 */
+3 −1
Original line number Diff line number Diff line
@@ -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);
    }