aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysdep.c
diff options
context:
space:
mode:
authorJoakim Verona2011-08-27 19:45:48 +0200
committerJoakim Verona2011-08-27 19:45:48 +0200
commit9fb7b0cab34a48a4c7b66abb6b8edc4ee20467b4 (patch)
treee94476d49f15747fcb9409d773702e88201855a4 /src/sysdep.c
parentc7489583c30031c0ecfae9d20b20c149ca1935e9 (diff)
parentb75258b32810f3690442bddef2e10eef126d2d25 (diff)
downloademacs-9fb7b0cab34a48a4c7b66abb6b8edc4ee20467b4.tar.gz
emacs-9fb7b0cab34a48a4c7b66abb6b8edc4ee20467b4.zip
upstream
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/sysdep.c b/src/sysdep.c
index 4bd1f54b9e6..57fff94f552 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -2640,7 +2640,7 @@ system_process_attributes (Lisp_Object pid)
2640 ssize_t nread; 2640 ssize_t nread;
2641 const char *cmd = NULL; 2641 const char *cmd = NULL;
2642 char *cmdline = NULL; 2642 char *cmdline = NULL;
2643 size_t cmdsize = 0, cmdline_size; 2643 ptrdiff_t cmdsize = 0, cmdline_size;
2644 unsigned char c; 2644 unsigned char c;
2645 int proc_id, ppid, uid, gid, pgrp, sess, tty, tpgid, thcount; 2645 int proc_id, ppid, uid, gid, pgrp, sess, tty, tpgid, thcount;
2646 unsigned long long u_time, s_time, cutime, cstime, start; 2646 unsigned long long u_time, s_time, cutime, cstime, start;
@@ -2822,8 +2822,10 @@ system_process_attributes (Lisp_Object pid)
2822 if (fd >= 0) 2822 if (fd >= 0)
2823 { 2823 {
2824 char ch; 2824 char ch;
2825 for (cmdline_size = 0; emacs_read (fd, &ch, 1) == 1; cmdline_size++) 2825 for (cmdline_size = 0; cmdline_size < STRING_BYTES_BOUND; cmdline_size++)
2826 { 2826 {
2827 if (emacs_read (fd, &ch, 1) != 1)
2828 break;
2827 c = ch; 2829 c = ch;
2828 if (isspace (c) || c == '\\') 2830 if (isspace (c) || c == '\\')
2829 cmdline_size++; /* for later quoting, see below */ 2831 cmdline_size++; /* for later quoting, see below */
@@ -2844,7 +2846,7 @@ system_process_attributes (Lisp_Object pid)
2844 nread = 0; 2846 nread = 0;
2845 } 2847 }
2846 /* We don't want trailing null characters. */ 2848 /* We don't want trailing null characters. */
2847 for (p = cmdline + nread - 1; p > cmdline && !*p; p--) 2849 for (p = cmdline + nread; p > cmdline + 1 && !p[-1]; p--)
2848 nread--; 2850 nread--;
2849 for (p = cmdline; p < cmdline + nread; p++) 2851 for (p = cmdline; p < cmdline + nread; p++)
2850 { 2852 {