summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/logfdisp.c4
-rw-r--r--firmware/logf.c9
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)
190 ptr = buffer; 190 ptr = buffer;
191 do { 191 do {
192 tindex++; 192 tindex++;
193 memcpy(ptr, logfbuffer[tindex], MAX_LOGF_ENTRY-1); 193 memcpy(ptr, logfbuffer[tindex], MAX_LOGF_ENTRY);
194 ptr += MAX_LOGF_ENTRY-1; 194 ptr += MAX_LOGF_ENTRY;
195 if (tindex >= MAX_LOGF_LINES) 195 if (tindex >= MAX_LOGF_LINES)
196 tindex = 0; 196 tindex = 0;
197 } while(logfbuffer[tindex][MAX_LOGF_ENTRY] == LOGF_TERMINATE_CONTINUE_LINE); 197 } 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, ...)
145 while(len > MAX_LOGF_ENTRY) 145 while(len > MAX_LOGF_ENTRY)
146 { 146 {
147 ptr = logfbuffer[logfindex]; 147 ptr = logfbuffer[logfindex];
148 strlcpy(ptr, buf + tlen, MAX_LOGF_ENTRY); 148 memcpy(ptr, buf + tlen, MAX_LOGF_ENTRY);
149 ptr[MAX_LOGF_ENTRY] = LOGF_TERMINATE_CONTINUE_LINE; 149 ptr[MAX_LOGF_ENTRY] = LOGF_TERMINATE_CONTINUE_LINE;
150 logfindex++; 150 logfindex++;
151 check_logfindex(); 151 check_logfindex();
152 len -= MAX_LOGF_ENTRY-1; 152 len -= MAX_LOGF_ENTRY;
153 tlen += MAX_LOGF_ENTRY-1; 153 tlen += MAX_LOGF_ENTRY;
154 multiline = true; 154 multiline = true;
155 } 155 }
156
156 ptr = logfbuffer[logfindex]; 157 ptr = logfbuffer[logfindex];
157 strcpy(ptr, buf + tlen); 158 memcpy(ptr, buf + tlen,len-tlen);
158 159
159 if(len < MAX_LOGF_ENTRY) 160 if(len < MAX_LOGF_ENTRY)
160 /* pad with spaces up to the MAX_LOGF_ENTRY byte border */ 161 /* pad with spaces up to the MAX_LOGF_ENTRY byte border */