From e757b43bcf8c439c167f62b6d3317ee9518cabbf Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Thu, 8 Dec 2016 23:51:09 +0900 Subject: Prevent overflow beyond the end of string in skip_space() Bug-Debian: https://github.com/tats/w3m/issues/74 --- table.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'table.c') diff --git a/table.c b/table.c index d0aed6c..e996570 100644 --- a/table.c +++ b/table.c @@ -2251,6 +2251,7 @@ skip_space(struct table *t, char *line, struct table_linfo *linfo, Str prevchar = linfo->prevchar; int w = linfo->length; int min = 1; + char *linez; if (*line == '<' && line[strlen(line) - 1] == '>') { if (checkminimum) @@ -2258,7 +2259,8 @@ skip_space(struct table *t, char *line, struct table_linfo *linfo, return 0; } - while (*line) { + linez = line + strlen(line); + while (line < linez) { char *save = line, *c = line; int ec, len, wlen, plen; ctype = get_mctype(line); -- cgit v1.2.3