Ansicht:   

#197900 HEAP Exception (pc.coding)

verfaßt von MistaPink, 11.03.2010, 14:12:01

Hallo,

ich versuche über einen HTTP-Stream zu lesen.
Dort gibt es bei HTTP/1.1 leider das Problem, dass es \"chunked\" Bodies gibt. Nachdem ich jetzt alle Daten aus dem TCP-Stream gelesen habe, würde ich gerne ein Postprocessing des Bodys machen. Dazu nutze ich folgende Schleife:


char* buf_ = new char[chunk_size];
sstream.read(buf_, 3); // std::stringstream sstream;
while (chunk_size > 0)
{
	sstream.read(buf_, chunk_size);
	hr.append_to_response(std::string(buf_, chunk_size));
	sstream >> chunk_size_string;
	chunk_size = hexstring_to_int(chunk_size_string);
	delete[] buf_; // HEAP Exception!
	buf_ = new char[chunk_size];
	sstream.read(buf_, 4);
}
delete[] buf_;


Leider schmiert das ganze beim delete[] buf_; ab. Ohne delete[] läuft die Schleife ein paar mal durch und stürtzt dann beim buf_ = new char[chunk_size]; ebenfalls mit einer HEAP Exception ab.

Es besteht natürlich die Möglichkeit das ganze auch mit einem statischen char-Array zu machen, nur hab ich nicht rausfinden können, ob es eine maximale Größe der einzelnen Chunks gibt.

Vielleicht kann mir jemand sagen, warum die Schleifen so nicht funktioniert?


Viele Grüße
MistaPink

 

gesamter Thread:

  • HEAP Exception - MistaPink - 11.03.2010, 14:12:01 [14349 Hits] [Board][Mix]
Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz