[Gambas-devel] gb.xml.html: MatchFilter() causes infinite loop

Tobias Boege taboege at ...176...
Mon Oct 5 17:39:30 CEST 2015

Hi Adrien,

attached is a project with a simple HTML file which causes XmlElement's
MatchFilter() method to enter an infinite loop. The project code tests
of a given node whether it matches the ".title" selector. To trigger the
infinite loop, the node apparently must have a "class" attribute such as

  class="title nowrap"

Since this is my last week of holidays, I thought I'd have some fun and
hunt the bug myself. It was in element.cpp:XMLElement_AttributeContains().
Because I didn't understand your string search code there, I rewrote it
from scratch. But I don't have many gb.xml projects lying around to test
it. It fixes the infinite loop in my current project, though, and delivers
the expected results. I will commit the changes to trunk now and would like
you to confirm that it doesn't break things elsewhere.


"There's an old saying: Don't change anything... ever!" -- Mr. Monk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xml-matchfilter-infinite-loop-0.0.1.tar.gz
Type: application/octet-stream
Size: 4556 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20151005/4f42a08c/attachment.obj>

More information about the Devel mailing list