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

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

Merge changes I42162365,Ia72f1305,I57d1f86c,I026d074e

* changes:
  logd: klogd deal with nuls in dmesg
  logd: log_strtok_r deal with nuls
  liblog: logprint: printable nul
  logd: klogd: sniff for time correction on Mediatek
parents ad2a5a89 151beac7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -774,7 +774,7 @@ WEAK ssize_t utf8_character_length(const char *src, size_t len)
    uint32_t utf32;

    if ((first_char & 0x80) == 0) { /* ASCII */
        return 1;
        return first_char ? 1 : -1;
    }

    /*
+3 −3
Original line number Diff line number Diff line
@@ -239,9 +239,9 @@ int LogAudit::logPrint(const char *fmt, ...) {
    return rc;
}

int LogAudit::log(char *buf) {
int LogAudit::log(char *buf, size_t len) {
    char *audit = strstr(buf, " audit(");
    if (!audit) {
    if (!audit || (audit >= &buf[len])) {
        return 0;
    }

@@ -249,7 +249,7 @@ int LogAudit::log(char *buf) {

    int rc;
    char *type = strstr(buf, "type=");
    if (type) {
    if (type && (type < &buf[len])) {
        rc = logPrint("%s %s", type, audit + 1);
    } else {
        rc = logPrint("%s", audit + 1);
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ class LogAudit : public SocketListener {

public:
    LogAudit(LogBuffer *buf, LogReader *reader, int fdDmesg);
    int log(char *buf);
    int log(char *buf, size_t len);

protected:
    virtual bool onDataAvailable(SocketClient *cli);
+238 −126

File changed.

Preview size limit exceeded, changes collapsed.

+7 −6
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#include <log/log_read.h>
#include "LogReader.h"

char *log_strtok_r(char *str, char **saveptr);
char *log_strntok_r(char *s, size_t *len, char **saveptr, size_t *sublen);

class LogKlog : public SocketListener {
    LogBuffer *logbuf;
@@ -40,15 +40,16 @@ class LogKlog : public SocketListener {

public:
    LogKlog(LogBuffer *buf, LogReader *reader, int fdWrite, int fdRead, bool auditd);
    int log(const char *buf);
    void synchronize(const char *buf);
    int log(const char *buf, size_t len);
    void synchronize(const char *buf, size_t len);

    static void convertMonotonicToReal(log_time &real) { real += correction; }

protected:
    void sniffTime(log_time &now, const char **buf, bool reverse);
    pid_t sniffPid(const char *buf);
    void calculateCorrection(const log_time &monotonic, const char *real_string);
    void sniffTime(log_time &now, const char **buf, size_t len, bool reverse);
    pid_t sniffPid(const char *buf, size_t len);
    void calculateCorrection(const log_time &monotonic,
                             const char *real_string, size_t len);
    virtual bool onDataAvailable(SocketClient *cli);

};
Loading