Index: apps/logfdisp.c
===================================================================
--- apps/logfdisp.c (révision 22252)
+++ apps/logfdisp.c (copie de travail)
@@ -190,8 +190,8 @@
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);
Index: firmware/logf.c
===================================================================
--- firmware/logf.c (révision 22252)
+++ firmware/logf.c (copie de travail)
@@ -145,16 +145,17 @@
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 */