string problems
Vitaliy <[email protected]> Sat, 1 Feb 2003 19:00:42 +0200
| Newsgroups | gmane.comp.gcc.cgicc.general |
|---|---|
| Message-ID | <[email protected]> |
Hello there,
I have some problems, when trying to work with FormEntry
When trying 2 post string value > 16 symbols form FORM to .cgi,
I have dlgheap.c ASSERTION, and then crash!
All because FormEntry, when receives characters from stdin
stream, creates sdt::string class's new instance (undocumented MakeString()), where puts
that string!
After this it returns this std::string object (by value)!!!
In this moment std::string's copy constructor called.
This copy constructor copyes pointer (not characters)!!!
when std::string destructor runs... it tryes to free memory, by
having pointer, BUT! memory, pointed by him is in other
(cgicc library) heap! dbgheap.c ASSERTS that it cannot free
memory by this pointer. Pointer MUST come from LOCAL HEAP!!!
I hope that You will understand that I mean...
Best regards,
Vitaliy mailto:[email protected]