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 */