[w3m-dev 03438] Re: segmentation fault by large complex table.

* table.c (check_table_height): check MAXROWCELL
* table.h (MAXROWCELL): added
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2002-11-15 16:00:33 +00:00
parent 13a8362c3b
commit 587867d610
3 changed files with 12 additions and 3 deletions
+7 -1
View File
@@ -1,3 +1,9 @@
2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03438] Re: segmentation fault by large complex table.
* table.c (check_table_height): check MAXROWCELL
* table.h (MAXROWCELL): added
2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> 2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03437] Re: Check image size * [w3m-dev 03437] Re: Check image size
@@ -4779,4 +4785,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1 * release-0-2-1
* import w3m-0.2.1 * import w3m-0.2.1
$Id: ChangeLog,v 1.521 2002/11/15 15:58:27 ukai Exp $ $Id: ChangeLog,v 1.522 2002/11/15 16:00:33 ukai Exp $
+3 -1
View File
@@ -1,4 +1,4 @@
/* $Id: table.c,v 1.29 2002/11/05 16:43:10 ukai Exp $ */ /* $Id: table.c,v 1.30 2002/11/15 16:00:33 ukai Exp $ */
/* /*
* HTML table * HTML table
*/ */
@@ -1518,6 +1518,8 @@ check_table_height(struct table *t)
if (cell.row[idx] == j && cell.rowspan[idx] == rowspan) if (cell.row[idx] == j && cell.rowspan[idx] == rowspan)
c = idx; c = idx;
} }
if (c >= MAXROWCELL)
continue;
if (c >= cell.size) { if (c >= cell.size) {
if (cell.size == 0) { if (cell.size == 0) {
cell.size = max(MAXCELL, c + 1); cell.size = max(MAXCELL, c + 1);
+2 -1
View File
@@ -1,4 +1,4 @@
/* $Id: table.h,v 1.6 2002/11/05 15:45:53 ukai Exp $ */ /* $Id: table.h,v 1.7 2002/11/15 16:00:34 ukai Exp $ */
#if (defined(MESCHACH) && !defined(MATRIX)) #if (defined(MESCHACH) && !defined(MATRIX))
#define MATRIX #define MATRIX
#endif /* (defined(MESCHACH) && !defined(MATRIX)) */ #endif /* (defined(MESCHACH) && !defined(MATRIX)) */
@@ -34,6 +34,7 @@ typedef unsigned short table_attr;
#define TBL_IN_COL 4 #define TBL_IN_COL 4
#define MAXCELL 20 #define MAXCELL 20
#define MAXROWCELL 1000
struct table_cell { struct table_cell {
short col[MAXCELL]; short col[MAXCELL];
short colspan[MAXCELL]; short colspan[MAXCELL];