commit 17563c10b645ea8c72bd05f15b60ccbc48984bea
parent 0cf30decc7bd0a6558d56932f69d63aab8928a57
Author: htrb <htrb>
Date: Sun, 8 Aug 2010 10:14:32 +0000
https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/131993
Diffstat:
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,10 @@
+2010-08-08 Steven Harms <ZXB01226 at nifty.com>
+
+ * [w3m-dev 04371] Re: "important" bugs from bugs.debian.org
+ * https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/131993
+ * table.c (ATTR_ROWSPAN_MAX): added
+ (feed_table_tag): maximum value of rowspan is ATTR_ROWSPAN_MAX
+
2010-08-08 d+w3m@vdr.jp
* [w3m-dev 04360] Re: "important" bugs from bugs.debian.org
diff --git a/table.c b/table.c
@@ -2408,6 +2408,8 @@ table_close_anchor0(struct table *tbl, struct table_mode *mode)
case HTML_N_COLGROUP:\
case HTML_COL
+#define ATTR_ROWSPAN_MAX 32766
+
static int
feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
int width, struct parsed_tag *tag)
@@ -2592,6 +2594,11 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
else
valign = HTT_MIDDLE;
if (parsedtag_get_value(tag, ATTR_ROWSPAN, &rowspan)) {
+ if(rowspan > ATTR_ROWSPAN_MAX)
+ {
+ fprintf(stderr, " Table Rowspan too large. Limiting to %d.\n", ATTR_ROWSPAN_MAX);
+ rowspan = ATTR_ROWSPAN_MAX;
+ }
if ((tbl->row + rowspan) >= tbl->max_rowsize)
check_row(tbl, tbl->row + rowspan);
}