lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lynx-dev] Re: lynx hangs II: the return


From: Thomas Dickey
Subject: Re: [Lynx-dev] Re: lynx hangs II: the return
Date: Tue, 26 Feb 2008 21:02:23 -0500
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

On Tue, Feb 26, 2008 at 06:15:27PM +0100, Paul B. Mahol wrote:
> On 2/26/08, Thomas Dickey <address@hidden> 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 <address@hidden>
http://invisible-island.net
ftp://invisible-island.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]