]> git.wh0rd.org Git - nano.git/commitdiff
Avoiding to print a wrong PID on the status bar.
authorBenno Schulenberg <bensberg@justemail.net>
Sun, 1 Feb 2015 09:58:02 +0000 (09:58 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Sun, 1 Feb 2015 09:58:02 +0000 (09:58 +0000)
Patch by Kamil Dudka.  Bug reported by Don Swaner.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5110 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/files.c

index 7bd3095ef7adb7653a1f85a3f98ea7a7b1ffa678..f664160561addcce075759795f621038952c8513 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
        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.
+       * src/files.c (do_lockfile): Avoid printing a wrong PID on the status
+       bar due to treating serialized PID bytes as signed integers.  This
+       addresses https://bugzilla.redhat.com/1186384 reported by Don Swaner.
 
 2015-02-01  Benno Schulenberg  <bensberg@justemail.net>
        * src/winio.c (do_credits): Add a general entry for all translators.
index cbe46aee7070dc8fa6655f6540f6326cbb80d77e..43b8c13d65d7dcec2c1cc96eac1ca1298b38ca2a 100644 (file)
@@ -284,7 +284,7 @@ int do_lockfile(const char *filename)
             return -1;
         }
         strncpy(lockprog, &lockbuf[2], 10);
-        lockpid = lockbuf[25] * 256 + lockbuf[24];
+        lockpid = (unsigned char)lockbuf[25] * 256 + (unsigned char)lockbuf[24];
         strncpy(lockuser, &lockbuf[28], 16);
 #ifdef DEBUG
         fprintf(stderr, "lockpid = %d\n", lockpid);