ps: fix SEGV on narrow screens. closes 8176

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2015-07-01 19:07:24 +02:00
parent db31c637fa
commit c9091d8947

View File

@ -654,8 +654,8 @@ int ps_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
OPT_l = (1 << ENABLE_SELINUX) * (1 << ENABLE_FEATURE_SHOW_THREADS) * ENABLE_FEATURE_PS_LONG, OPT_l = (1 << ENABLE_SELINUX) * (1 << ENABLE_FEATURE_SHOW_THREADS) * ENABLE_FEATURE_PS_LONG,
}; };
#if ENABLE_FEATURE_PS_LONG #if ENABLE_FEATURE_PS_LONG
time_t now = now; time_t now = now; /* for compiler */
unsigned long uptime; unsigned long uptime = uptime;
#endif #endif
/* If we support any options, parse argv */ /* If we support any options, parse argv */
#if ENABLE_SELINUX || ENABLE_FEATURE_SHOW_THREADS || ENABLE_FEATURE_PS_WIDE || ENABLE_FEATURE_PS_LONG #if ENABLE_SELINUX || ENABLE_FEATURE_SHOW_THREADS || ENABLE_FEATURE_PS_WIDE || ENABLE_FEATURE_PS_LONG
@ -786,9 +786,11 @@ int ps_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
{ {
int sz = terminal_width - len; int sz = terminal_width - len;
char buf[sz + 1]; if (sz >= 0) {
read_cmdline(buf, sz, p->pid, p->comm); char buf[sz + 1];
puts(buf); read_cmdline(buf, sz, p->pid, p->comm);
puts(buf);
}
} }
} }
if (ENABLE_FEATURE_CLEAN_UP) if (ENABLE_FEATURE_CLEAN_UP)