summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2015-07-01 19:07:24 +0200
committerDenys Vlasenko2015-07-01 19:07:24 +0200
commitc9091d8947b6f0e28485eadab11d737e4c910430 (patch)
treec67bb40b3795a589230ed76d3c0d93e44b5e96bd
parentdb31c637fa72cfdc546dd85e10d231a0fdce2b1e (diff)
downloadbusybox-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.c12
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)