diff options
-rw-r--r-- | apps/logfdisp.c | 4 | ||||
-rw-r--r-- | firmware/logf.c | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/apps/logfdisp.c b/apps/logfdisp.c index c7f7e74ec4..da711bf1d3 100644 --- a/apps/logfdisp.c +++ b/apps/logfdisp.c @@ -190,8 +190,8 @@ bool logfdump(void) ptr = buffer; do { tindex++; - memcpy(ptr, logfbuffer[tindex], MAX_LOGF_ENTRY-1); - ptr += MAX_LOGF_ENTRY-1; + memcpy(ptr, logfbuffer[tindex], MAX_LOGF_ENTRY); + ptr += MAX_LOGF_ENTRY; if (tindex >= MAX_LOGF_LINES) tindex = 0; } while(logfbuffer[tindex][MAX_LOGF_ENTRY] == LOGF_TERMINATE_CONTINUE_LINE); diff --git a/firmware/logf.c b/firmware/logf.c index 6e3e532450..02ab79d0a0 100644 --- a/firmware/logf.c +++ b/firmware/logf.c @@ -145,16 +145,17 @@ void _logf(const char *format, ...) while(len > MAX_LOGF_ENTRY) { ptr = logfbuffer[logfindex]; - strlcpy(ptr, buf + tlen, MAX_LOGF_ENTRY); + memcpy(ptr, buf + tlen, MAX_LOGF_ENTRY); ptr[MAX_LOGF_ENTRY] = LOGF_TERMINATE_CONTINUE_LINE; logfindex++; check_logfindex(); - len -= MAX_LOGF_ENTRY-1; - tlen += MAX_LOGF_ENTRY-1; + len -= MAX_LOGF_ENTRY; + tlen += MAX_LOGF_ENTRY; multiline = true; } + ptr = logfbuffer[logfindex]; - strcpy(ptr, buf + tlen); + memcpy(ptr, buf + tlen,len-tlen); if(len < MAX_LOGF_ENTRY) /* pad with spaces up to the MAX_LOGF_ENTRY byte border */ |