diff options
author | Tatsuya Kinoshita <tats@debian.org> | 2016-12-08 14:51:09 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@debian.org> | 2016-12-08 14:51:09 +0000 |
commit | e757b43bcf8c439c167f62b6d3317ee9518cabbf (patch) | |
tree | 5f69b3826e34c8fbc8b6d25ab316bc5883b824c0 /table.c | |
parent | Prevent overflow beyond the end of string in visible_length() (diff) | |
download | w3m-e757b43bcf8c439c167f62b6d3317ee9518cabbf.tar.gz w3m-e757b43bcf8c439c167f62b6d3317ee9518cabbf.zip |
Prevent overflow beyond the end of string in skip_space()
Bug-Debian: https://github.com/tats/w3m/issues/74
Diffstat (limited to '')
-rw-r--r-- | table.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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); |