diff --git a/sysdeps/linux/glibtop_private.c b/sysdeps/linux/glibtop_private.c index 18cb7a6ecb84ed578f65564b4aeea5701d4ef283..8d170b5eec010326421fb1d62d54a39a6b661b5a 100644 --- a/sysdeps/linux/glibtop_private.c +++ b/sysdeps/linux/glibtop_private.c @@ -65,8 +65,13 @@ get_from_pipe (char *buffer, const size_t bufsiz, const char *cmd) fp = popen (cmd, "r"); size_t psize = fread(buffer,1,bufsiz,fp); - if (psize == bufsiz) + + if (psize == bufsiz) { g_warning("Read bufsiz bytes, there may be more"); + buffer [bufsiz - 1] = '\0'; + } else { + buffer [psize] = '\0'; + } pclose (fp); }