To help customers who are experiencing this problem in their third-party applications, Microsoft has released a new C Runtime dynamic-link library (DLL), Msvcrt.dll, which implements two heap managers: the Visual C++ version 5.0-compatible heap manager and the Visual C++ version 6.0-compatible heap manager. Msvcrt.dll detects which version of Visual C++ your application is built with, and uses the appropriate heap manager for that application. If the version is Visual C++ 6.0 or greater, the Visual C++ 6.0-compatible heap manager is used; if the version is earlier than version 6.0, the Visual C++ 5.0-compatible heap is used.
Visual Studio 6.0 users can get the new Msvcrt.dll file by installing the latest Microsoft Visual Studio Service Pack. If you are not using Visual Studio, install the Microsoft Libraries Update; for additional information, see the following article in the Microsoft Knowledge Base:
This bug was corrected in Visual Studio 6.0 Service Pack 3.
For more information about Visual Studio service packs, click the following article numbers to view the articles in the Microsoft Knowledge Base:
You can control these types of problems by using the debug heap. Please see the online documentation titled, "Using the Debug Heap." You need to enable the debug heap by calling _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF |_CRTDBG_CHECK-_ALWAYS_DF) at process initialization in a debug build of your application.
Article ID: 190536 - Last Review: Jun 22, 2014 - Revision: 1