Re: Infinite loop in html2thot.c

Hello Brian,

Thanks for your report and for your very good analysis.
I fixed the bug in the second way you mentionned (BlockInCharLevelElem check 
extended).

Laurent Carcone


> While browsing http://directory.google.com/, I found that a rather
> confused attempt at HTML there that causes Amaya to lock up.  I have
> attached a reduced test case.
> 
> The loop occurs in the CheckBlocksInCharElem function, where it
> continually attempts to check the same structure, around a character
> level element.  It appears that this happens because the same element is
> put into the ToBeChecked list twice, the first time by CheckSurrounding
> where it is created, and the second in XhtmlElementComplete.  Another
> element is entered into the list between these calls to
> BlockInCharLevelElem, preventing the duplicates check there from
> working.
> 
> Now, if XhtmlElementComplete is called for all elements, then the
> BlockInCharLevelElem call in CheckSurrounding can be removed, preventing
> the duplicate list entry and the loop.  Unfortunately, I am not familiar
> enough with the code to know if this is true.  Failing that, the check
> in BlockInCharLevelElem could be extended, although this would increase
> the computational complexity of the function.
> 
>   Brian Campbell
> 

Received on Monday, 26 August 2002 08:41:58 UTC