watch: Correctly process [m Remove lib dependency
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: commita5937e4e94
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 Signed-off-by: Craig Small <csmall@enc.com.au> Ported-by: Jim Warner <james.warner@comcast.net> From original: commit99fa7f9f57
This commit is contained in:
parent
03b148d517
commit
d7791607ad
@ -96,7 +96,7 @@ dist_man_MANS += \
|
||||
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 \
|
||||
|
6
watch.c
6
watch.c
@ -227,10 +227,12 @@ static void process_ansi(FILE * fp)
|
||||
* 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)
|
||||
|
Loading…
Reference in New Issue
Block a user