After opening the streams tree, it is only a matter of 1-5 minutes
before the program segfaults, I am still tracking this down.
It seems that after the first download/parsing, the later executions
of StreamTimer makes DoParse think the length of the downloaded data
is too long. DoParse crashes. The problem is in Downloading to
a string failed slightly.
In the function
Error Http::DownloadToString(const string &url, string &page)
the value return by download, m_bytesInBuffer=8524, is correct.
Then it is converted from char* to string by:
page = string((char *)m_buffer);
Then the reutrn string seems to be slightly longer
@ ui/musicbrowser/unix/src/browsertree.cpp : 1354 : void GTKMusicBrowser::StreamTimer()
args: page.size()=8540
The 8540 > 8524 is wrong. The extra charaters are:
e>
</Directory>
The e> chokes DoParse. PCData without a begin element means m_info
is null, so it segfaults in PCData. So malformed xml kills the
parser and freeamp. Joy.
The page.size() > m_bytesInBuffer must mean a null is not appended to
the buffer. Hmmm....more debugging ahead.
_______________________________________________
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev