On Tue, Feb 26, 2008 at 06:15:27PM +0100, Paul B. Mahol wrote: > On 2/26/08, Thomas Dickey <[EMAIL PROTECTED]> wrote: > > I looked into this a little last night, and see that it's likely a > > problem comparing signed/unsigned values somewhere. I made a workaround > > which is in the lynx-patch in ftp://invisible-island.net/temp/ > > diff -Nur lynx2-8-7 lynx2-8-7Y > > Please recheck this patch.
I made some fixes per valgrind, and put the updated patch in ftp://invisible-island.net/temp/ > > Files lynx2-8-7/src/.TRSTable.c.swp and lynx2-8-7Y/src/.TRSTable.c.swp differ > diff -Nur lynx2-8-7/src/TRSTable.c lynx2-8-7Y/src/TRSTable.c > --- lynx2-8-7/src/TRSTable.c 2005-10-17 02:17:20.000000000 +0200 > +++ lynx2-8-7Y/src/TRSTable.c 2008-02-26 17:49:58.000000000 +0100 > @@ -957,6 +957,20 @@ > int growby; > int i; > > + if (colspan > TRST_MAXCOLSPAN) { > + CTRACE2(TRACE_TRST, > + (tfp, > + "TRST:*** COLSPAN=%d is too large, ignored!\n", > + colspan)); > + return -1; > + } > + if (rowspan > TRST_MAXROWSPAN) { > + CTRACE2(TRACE_TRST, > + (tfp, > + "TRST:*** ROWSPAN=%d is too large, ignored!\n", > + rowspan)); > + return -1; > + } > if (me->nrows <= 0) > return -1; /* must already have at least one row */ > > @@ -1223,7 +1237,7 @@ > me->cells[me->ncells - 1].colspan : 1; > > if (ncolinfo == 0 || me->ncells + last_colspan > ncolinfo) { > - colspan = HTMAX(TRST_MAXCOLSPAN, > + colspan = HTMIN(TRST_MAXCOLSPAN, /* this have more sense to me */ > ncols_sofar - (me->ncells + last_colspan - 1)); > } else { > for (i = me->ncells + last_colspan - 1; i < ncolinfo - 1; i++) > @@ -1231,6 +1245,9 @@ > break; > colspan = i - (me->ncells + last_colspan - 2); > } > + CTRACE2(TRACE_TRST, > + (tfp, "TRST:get_remaining_colspan; colspan = %d\n", > + colspan)); > return colspan; > } -- Thomas E. Dickey <[EMAIL PROTECTED]> http://invisible-island.net ftp://invisible-island.net _______________________________________________ Lynx-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lynx-dev
