diff --git a/ChangeLog b/ChangeLog index 74e735bbfa0103b8f8a0fb5f442a06e52250c946..7bd3095ef7adb7653a1f85a3f98ea7a7b1ffa678 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ 2015-02-01 Kamil Dudka <kdudka@redhat.com> * src/files.c (write_lockfile): Avoid writing uninitialized bytes to the lock file -- a simple null_at() would not initialize the buffer. + * src/files.c (do_lockfile): Make sure that 'lockprog' and 'lockuser' + are terminated -- strncpy() does not guarantee that on its own. 2015-02-01 Benno Schulenberg <bensberg@justemail.net> * src/winio.c (do_credits): Add a general entry for all translators. diff --git a/src/files.c b/src/files.c index 90c6b0cc5f198911400816871d5408ccf8e7fea1..cbe46aee7070dc8fa6655f6540f6326cbb80d77e 100644 --- a/src/files.c +++ b/src/files.c @@ -253,7 +253,7 @@ int do_lockfile(const char *filename) + strlen(locking_suffix) + 3; char *lockfilename = charalloc(lockfilesize); char *lockfiledir = NULL; - char lockprog[12], lockuser[16]; + static char lockprog[11], lockuser[17]; struct stat fileinfo; int lockfd, lockpid;