ancient (2.x.xx era) data corruption fixed
serious hidden-process problem (3.1.3+) fixed
-escape sequence vulnerability fixed
+w: escape sequence vulnerability fixed
procps-3.1.3 --> procps-3.1.4
static void
output_strlist (const union el *restrict list)
{
+// FIXME: escape codes
int i;
for (i = 1; i < list[0].num; i++)
printf ("%s%s", list[i].str, opt_delim);
matches = 0;
}
if (opt_long) {
- char buff[4096];
+ char buff[5096]; // FIXME
sprintf (buff, "%d %s", task.pid, cmd);
list[++matches].str = strdup (buff);
} else {
unsigned w = Fieldstab[i].width;
switch (i) {
-#if 0
- case P_CMD:
- { const char *cp;
- if (CHKw(q, Show_CMDLIN)) {
- char tmp[ROWBUFSIZ];
- char *tp;
- if (p->cmdline) {
- j = 0;
- *(tp = tmp) = '\0';
- do {
- tp = scat(tp, fmtmk("%.*s ", q->maxcmdln, p->cmdline[j]));
- if (q->maxcmdln < (tp - tmp)) break;
- } while (p->cmdline[++j]);
- strim_1(tmp);
- } else
- strcpy(tmp, fmtmk("[%s]", p->cmd));
- cp = tmp;
- } else
- cp = p->cmd;
- MKCOL(q->maxcmdln, q->maxcmdln, cp);
- }
- break;
-#endif
case P_CMD:
{ char tmp[ROWBUFSIZ];
unsigned flags;