aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTatsuya Kinoshita <tats@debian.org>2016-10-08 01:27:41 +0000
committerTatsuya Kinoshita <tats@debian.org>2016-10-08 01:27:41 +0000
commit0c9aebb26a16ad3acc69b2e87ffd216d43879cb6 (patch)
tree7ab039b6b189f24fafbb8126a299a4ac8910d131
parentPrevent global-buffer-overflow write in formUpdateBuffer (diff)
downloadw3m-0c9aebb26a16ad3acc69b2e87ffd216d43879cb6.tar.gz
w3m-0c9aebb26a16ad3acc69b2e87ffd216d43879cb6.zip
Treat table height as int instead of short
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838952
-rw-r--r--table.c14
-rw-r--r--table.h2
-rw-r--r--textlist.h6
3 files changed, 11 insertions, 11 deletions
diff --git a/table.c b/table.c
index d88e983..e906e9f 100644
--- a/table.c
+++ b/table.c
@@ -278,7 +278,7 @@ newTable()
t->max_rowsize = MAXROW;
t->tabdata = New_N(GeneralList **, MAXROW);
t->tabattr = New_N(table_attr *, MAXROW);
- t->tabheight = NewAtom_N(short, MAXROW);
+ t->tabheight = NewAtom_N(int, MAXROW);
#ifdef ID_EXT
t->tabidvalue = New_N(Str *, MAXROW);
t->tridvalue = New_N(Str, MAXROW);
@@ -331,7 +331,7 @@ check_row(struct table *t, int row)
int i, r;
GeneralList ***tabdata;
table_attr **tabattr;
- short *tabheight;
+ int *tabheight;
#ifdef ID_EXT
Str **tabidvalue;
Str *tridvalue;
@@ -341,7 +341,7 @@ check_row(struct table *t, int row)
r = max(t->max_rowsize * 2, row + 1);
tabdata = New_N(GeneralList **, r);
tabattr = New_N(table_attr *, r);
- tabheight = NewAtom_N(short, r);
+ tabheight = NewAtom_N(int, r);
#ifdef ID_EXT
tabidvalue = New_N(Str *, r);
tridvalue = New_N(Str, r);
@@ -846,7 +846,7 @@ table_rule_width(struct table *t)
}
static void
-check_cell_width(short *tabwidth, short *cellwidth,
+check_cell_width(int *tabwidth, int *cellwidth,
short *col, short *colspan, short maxcell,
short *indexarray, int space, int dir)
{
@@ -1478,7 +1478,7 @@ check_table_height(struct table *t)
short *indexarray;
short maxcell;
short size;
- short *height;
+ int *height;
} cell;
int space = 0;
@@ -1517,7 +1517,7 @@ check_table_height(struct table *t)
cell.row = NewAtom_N(short, cell.size);
cell.rowspan = NewAtom_N(short, cell.size);
cell.indexarray = NewAtom_N(short, cell.size);
- cell.height = NewAtom_N(short, cell.size);
+ cell.height = NewAtom_N(int, cell.size);
}
else {
cell.size = max(cell.size + MAXCELL, c + 1);
@@ -1526,7 +1526,7 @@ check_table_height(struct table *t)
cell.size);
cell.indexarray = New_Reuse(short, cell.indexarray,
cell.size);
- cell.height = New_Reuse(short, cell.height, cell.size);
+ cell.height = New_Reuse(int, cell.height, cell.size);
}
}
if (c > cell.maxcell) {
diff --git a/table.h b/table.h
index fdcdef3..df03143 100644
--- a/table.h
+++ b/table.h
@@ -100,7 +100,7 @@ struct table {
short minimum_width[MAXCOL];
short fixed_width[MAXCOL];
struct table_cell cell;
- short *tabheight;
+ int *tabheight;
struct table_in *tables;
short ntable;
short tables_size;
diff --git a/textlist.h b/textlist.h
index f28b199..385eee4 100644
--- a/textlist.h
+++ b/textlist.h
@@ -14,7 +14,7 @@ typedef struct _listitem {
typedef struct _generallist {
ListItem *first;
ListItem *last;
- short nitem;
+ int nitem;
} GeneralList;
extern ListItem *newListItem(void *s, ListItem *n, ListItem *p);
@@ -36,7 +36,7 @@ typedef struct _textlistitem {
typedef struct _textlist {
TextListItem *first;
TextListItem *last;
- short nitem;
+ int nitem;
} TextList;
#define newTextList() ((TextList *)newGeneralList())
@@ -62,7 +62,7 @@ typedef struct _textlinelistitem {
typedef struct _textlinelist {
TextLineListItem *first;
TextLineListItem *last;
- short nitem;
+ int nitem;
} TextLineList;
extern TextLine *newTextLine(Str line, int pos);