summaryrefslogtreecommitdiff
path: root/legacy/busybox/top-buffer-overflow.patch
diff options
context:
space:
mode:
authorKiyoshi Aman <kiyoshi.aman+adelie@gmail.com>2019-02-22 22:51:35 -0600
committerKiyoshi Aman <kiyoshi.aman+adelie@gmail.com>2019-02-22 22:51:35 -0600
commit4618f5695b7bd00c07d656e965db11b31f0d8b36 (patch)
tree9a3b5f59245e5e3e1183fd56ae907a06c588d1f1 /legacy/busybox/top-buffer-overflow.patch
parentd397ab02f9c6c4e5a0ac0a2d5331999d056ae27b (diff)
downloadpackages-4618f5695b7bd00c07d656e965db11b31f0d8b36.tar.gz
packages-4618f5695b7bd00c07d656e965db11b31f0d8b36.tar.bz2
packages-4618f5695b7bd00c07d656e965db11b31f0d8b36.tar.xz
packages-4618f5695b7bd00c07d656e965db11b31f0d8b36.zip
{system => legacy}/busybox: fucking inflatable fucking busybox
Diffstat (limited to 'legacy/busybox/top-buffer-overflow.patch')
-rw-r--r--legacy/busybox/top-buffer-overflow.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/legacy/busybox/top-buffer-overflow.patch b/legacy/busybox/top-buffer-overflow.patch
new file mode 100644
index 000000000..14b23c648
--- /dev/null
+++ b/legacy/busybox/top-buffer-overflow.patch
@@ -0,0 +1,20 @@
+--- busybox-1.27.0.orig/procps/top.c
++++ busybox-1.27.0/procps/top.c
+@@ -694,10 +694,14 @@
+ CALC_STAT(pcpu, (s->pcpu*pcpu_scale + pcpu_half) >> pcpu_shift);
+ #endif
+
+- if (s->vsz >= 100000)
+- sprintf(vsz_str_buf, "%6ldm", s->vsz/1024);
++ if ((s->vsz / (1024 * 1024)) >= 100000)
++ snprintf(vsz_str_buf, sizeof(vsz_str_buf), "%6ldt", s->vsz/(1024 * 1024 * 1024));
++ else if ((s->vsz / 1024) >= 100000)
++ snprintf(vsz_str_buf, sizeof(vsz_str_buf), "%6ldg", s->vsz/(1024 * 1024));
++ else if (s->vsz >= 100000)
++ snprintf(vsz_str_buf, sizeof(vsz_str_buf), "%6ldm", s->vsz/1024);
+ else
+- sprintf(vsz_str_buf, "%7lu", s->vsz);
++ snprintf(vsz_str_buf, sizeof(vsz_str_buf), "%7lu", s->vsz);
+ /* PID PPID USER STAT VSZ %VSZ [%CPU] COMMAND */
+ col = snprintf(line_buf, scr_width,
+ "\n" "%5u%6u %-8.8s %s%s" FMT