Menu

#1 Workaround some checks to avoid SegFaults

open
nobody
None
5
2004-05-21
2004-05-21
No

Workaround some checks to avoid SegFaults on files
generated by gnumeric:

diff -bur xlreader-0.9.0/handler.c xlreader-new/handler.c
--- xlreader-0.9.0/handler.c 2001-10-01
11:33:46.000000000 +0700
+++ xlreader-new/handler.c 2004-05-21
15:02:36.000000000 +0700
@@ -74,7 +74,7 @@
mulrk.numrks = mulrk.last - mulrk.first + 1;
mulrk_read(&mulrk, data);

- // printf("MulRK first: %d last: %d records:
%d\n",mulrk.first,mulrk.last,mulrk.numrks);
+ //printf("MulRK first: %d last: %d records:
%d\n",mulrk.first,mulrk.last,mulrk.numrks);

for (i = 0; i < mulrk.numrks; i++) {
cell = cell_number(mulrk.row,
mulrk.first + i, mulrk.xfindices[i], mulrk.rkdbls[i]);
@@ -170,9 +170,11 @@
col = interger2byte(data[2], data[3]);
xfindex = interger2byte(data[4], data[5]);
double4byte(&d, data[6], data[7], data[8],
data[9]);
+ if(!(row > sheet->rows || col>sheet->cols))
+ if(sheet!=NULL)
+ if(sheet->cells!=NULL){
sheet->cells[row][col] = cell_number(row, col,
xfindex, d);
-
- // printf("Double 4 byte: %f\n",d);
+ }
}

void

Discussion


Log in to post a comment.