Heap Corruption bei delete []



  • Ich hab folgendes Stück Code:

    void readXml(XmlReader& rs)
    		{
    			UCSChar * wid = new UCSChar[rs.getStringLength(L"/ConfigSet/id")];
    			rs.getString(L"/ConfigSet/id", wid);
    			configId = wid;
    
    			delete [] wid;
    		}
    

    Bei der Zeile delete [] wid bekomme ich folgende Meldung

    Debug Error!
    
    Programm: Programm.exe
    
    HEAP CORRUPTION DETECTED: after Normal block (#168) at 0x02502BC0.
    CRT detected that the application wrote to memory after end of heap buffer.
    

    Visual C++ 9.0 auf Windows XP, nicht im /CLI modus.

    Verstehe nicht, wo das Problem ist, new UCSChar[zahl] ist größer 0



  • Kann es sein, dass dein Array nicht groß genug ist? Evtl. fehlt ja der Platz für die abschließende /0.



  • Oh, das macht sogar sin, werd ich überprüfen.

    Danke


Anmelden zum Antworten