Kunihiko IMAI writes:
authorEric Andersen <andersen@codepoet.org>
Mon, 12 Sep 2005 19:16:11 +0000 (19:16 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 12 Sep 2005 19:16:11 +0000 (19:16 -0000)
We're using busybox and thank the authors.

I found a short buffer allocation at busybox/sysklod/syslod.c.  It
mis-declares length of filenames, seems to forget for '\0' or two
column numbered suffix of backup files (ex. messages.10).

Here is a patch for the problem.

Thanks.

sysklogd/syslogd.c

index aecd35d..8f9d75c 100644 (file)
@@ -333,7 +333,7 @@ static void message(char *fmt, ...)
                                && (lseek(fd,0,SEEK_END) > logFileSize) ) {
                                if(logFileRotate > 0) {
                                        int i;
-                                       char oldFile[(strlen(logFilePath)+3)], newFile[(strlen(logFilePath)+3)];
+                                       char oldFile[(strlen(logFilePath)+4)], newFile[(strlen(logFilePath)+4)];
                                        for(i=logFileRotate-1;i>0;i--) {
                                                sprintf(oldFile, "%s.%d", logFilePath, i-1);
                                                sprintf(newFile, "%s.%d", logFilePath, i);