In HtHTTP.c there is HtHTTP::ReadChunkedBody() with the following
come in it
char buffer[8192];
while (chunk_size > 0)
{
// Read Chunk data
if (_connection.read(buffer, chunk_size) == -1)
return -1;
// Read CRLF - to be ignored
_connection.read_line(ChunkHeader);
// Append the chunk-data to the contents of the response
_response._contents << buffer;
length+=chunk_size;
// Read chunk-size and CRLF
_connection.read_line(ChunkHeader);
sscanf ((char *)ChunkHeader, "%x", &chunk_size);
if (debug>4)
cout << "Chunk-size: " << chunk_size << endl;
}
It is possible for chunk_size to be greater than the 8192 size
of buffer, if this happens the stack gets overwritten.
--
Toivo Pedaste Email: [EMAIL PROTECTED]
University Computing Services, Phone: +61 8 9 380 2605
University of Western Australia Fax: +61 8 9 380 1109
"The time has come", the Walrus said, "to talk of many things"...
------------------------------------
To unsubscribe from the htdig3-dev mailing list, send a message to
[EMAIL PROTECTED] containing the single word "unsubscribe" in
the SUBJECT of the message.