diff options
author | Denys Vlasenko | 2015-07-01 19:07:24 +0200 |
---|---|---|
committer | Denys Vlasenko | 2015-07-01 19:07:24 +0200 |
commit | c9091d8947b6f0e28485eadab11d737e4c910430 (patch) | |
tree | c67bb40b3795a589230ed76d3c0d93e44b5e96bd | |
parent | db31c637fa72cfdc546dd85e10d231a0fdce2b1e (diff) | |
download | busybox-c9091d8947b6f0e28485eadab11d737e4c910430.zip busybox-c9091d8947b6f0e28485eadab11d737e4c910430.tar.gz |
ps: fix SEGV on narrow screens. closes 8176
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | procps/ps.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/procps/ps.c b/procps/ps.c index c65fa01..bde5f94 100644 --- a/procps/ps.c +++ b/procps/ps.c @@ -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, }; #if ENABLE_FEATURE_PS_LONG - time_t now = now; - unsigned long uptime; + time_t now = now; /* for compiler */ + unsigned long uptime = uptime; #endif /* If we support any options, parse argv */ #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; - char buf[sz + 1]; - read_cmdline(buf, sz, p->pid, p->comm); - puts(buf); + if (sz >= 0) { + char buf[sz + 1]; + read_cmdline(buf, sz, p->pid, p->comm); + puts(buf); + } } } if (ENABLE_FEATURE_CLEAN_UP) |