aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIto Hiroyuki <ZXB01226@nifty.com>2010-08-08 10:14:32 +0000
committerIto Hiroyuki <ZXB01226@nifty.com>2010-08-08 10:14:32 +0000
commit6ec43dc4b4e01464f86ac942521141e3e9ec64fc (patch)
tree3b74b7daa9310d4a620217cd5ae6f347655391f7
parent[w3m-dev 04360] Re: "important" bugs from bugs.debian.org (diff)
downloadw3m-6ec43dc4b4e01464f86ac942521141e3e9ec64fc.tar.gz
w3m-6ec43dc4b4e01464f86ac942521141e3e9ec64fc.zip
https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/131993
-rw-r--r--ChangeLog9
-rw-r--r--table.c9
2 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 915f1fa..c81c4c1 100644
--- 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
@@ -9116,4 +9123,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.1028 2010/08/08 09:53:42 htrb Exp $
+$Id: ChangeLog,v 1.1029 2010/08/08 10:14:32 htrb Exp $
diff --git a/table.c b/table.c
index 8ac3ee0..dbe874c 100644
--- a/table.c
+++ b/table.c
@@ -1,4 +1,4 @@
-/* $Id: table.c,v 1.56 2010/07/19 23:34:01 htrb Exp $ */
+/* $Id: table.c,v 1.57 2010/08/08 10:14:32 htrb Exp $ */
/*
* HTML table
*/
@@ -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);
}