On Windows CE, operator new/delete, new[]/delete[] with const std::nothrow_t& must be overrided because some standard template libraries use these operators. void *__cdecl operator new( size_t count, const std::nothrow_t& ) throw(); The problem occurs when memory allocated by new(size_t s, const std::nothrow_t&) is freed by delete(void* p). This causes the umatched malloc/free.
Created attachment 32001 [details] Patch to override new/delete, new[]/delete[] with const std::nothrow_t& under Windows CE.
Comment on attachment 32001 [details] Patch to override new/delete, new[]/delete[] with const std::nothrow_t& under Windows CE. The spacing around throw() is not consistent in each line. Also, this is missing a ChangeLog: http://webkit.org/coding/contributing.html
Created attachment 32041 [details] Patch to override new/delete, new[]/delete[] with const std::nothrow_t& under Windows CE. Add a ChangeLog and make the coding style consistent.
This change looks fine to me, but george should be aware of it.
Where is a case of this actually happening?
r45374