diff options
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | table.c | 4 | ||||
-rw-r--r-- | table.h | 3 |
3 files changed, 13 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * w3m 0.3.2 branch: backport from trunk + * [w3m-dev 03438] Re: segmentation fault by large complex table. + * table.c (check_table_height): check MAXROWCELL + * table.h (MAXROWCELL): added + 2002-11-26 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> * w3m 0.3.2 branch: backport from trunk @@ -4114,4 +4121,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.467.4.1 2002/11/26 07:09:09 ukai Exp $ +$Id: ChangeLog,v 1.467.4.2 2002/11/26 07:10:18 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: table.c,v 1.27.4.1 2002/11/26 07:09:09 ukai Exp $ */ +/* $Id: table.c,v 1.27.4.2 2002/11/26 07:10:18 ukai Exp $ */ /* * HTML table */ @@ -1518,6 +1518,8 @@ check_table_height(struct table *t) if (cell.row[idx] == j && cell.rowspan[idx] == rowspan) c = idx; } + if (c >= MAXROWCELL) + continue; if (c >= cell.size) { if (cell.size == 0) { cell.size = max(MAXCELL, c + 1); @@ -1,4 +1,4 @@ -/* $Id: table.h,v 1.5.6.1 2002/11/26 07:09:09 ukai Exp $ */ +/* $Id: table.h,v 1.5.6.2 2002/11/26 07:10:18 ukai Exp $ */ #if (defined(MESCHACH) && !defined(MATRIX)) #define MATRIX #endif /* (defined(MESCHACH) && !defined(MATRIX)) */ @@ -34,6 +34,7 @@ typedef unsigned short table_attr; #define TBL_IN_COL 4 #define MAXCELL 20 +#define MAXROWCELL 1000 struct table_cell { short col[MAXCELL]; short colspan[MAXCELL]; |