The commit referenced below made the ANSI sequence
[m be interpreted as [0m However this change was put
in the incorrect place and would reference an undefined
pointer, causing a crash. Thanks to Jimmy Theis for the
second heads-up.
watch doesn't need any libprocps functions so it is no
longer linked to them.
References:
commit
a5937e4e943eaf28b378a318566d6968f2b167be
https://www.freelists.org/post/procps/watch-crashes-but-its-not-the-latest-commit-fault
https://www.freelists.org/post/procps/Segmentation-fault-in-watch-3311
slabtop_SOURCES = slabtop.c lib/strutils.c lib/fileutils.c
slabtop_LDADD = $(LDADD) @NCURSES_LIBS@
watch_SOURCES = watch.c lib/strutils.c lib/fileutils.c
-watch_LDADD = $(LDADD) @WATCH_NCURSES_LIBS@
+watch_LDADD = @WATCH_NCURSES_LIBS@
top_top_SOURCES = \
top/top.h \
top/top.c \
* attributes to apply, but typically there are between 1 and 3.
*/
- if (*endptr == '\0') set_ansi_attribute(0); /* [m treated as [0m */
- for (endptr = numstart = buf; *endptr != '\0'; numstart = endptr + 1)
+ for (endptr = numstart = buf; *endptr != '\0'; numstart = endptr + 1) {
set_ansi_attribute(strtol(numstart, &endptr, 10));
+ if (numstart == endptr)
+ set_ansi_attribute(0); /* [m treated as [0m */
+ }
}
static void __attribute__ ((__noreturn__)) do_exit(int status)