The information in this article applies to:
SYMPTOMSAfter you install the run-time libraries (Msvcrt.dll) from Visual C++ 6.0 on your computer, the applications that previously ran correctly fail and an application error similar to the following appears:
CAUSEOne possible cause of this error is that the application has written past the block of memory owned by a particular object. The small-block heap memory manager that shipped with the Visual C++ 6.0 run-time libraries incorporates heap control structures within the small-block heap. Overwriting the memory block will change small-block heap pointer addresses, effecting a bad pointer and possibly a fault in Msvcrt.dll when the pointer is referenced. RESOLUTION
Application vendors need to ensure that their applications are using the C
run-time small-block heap correctly. STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. Q194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why MORE INFORMATION
The small-block heap comprises allocations that are less than 1K in size.
Bugs of this nature might have behaved differently in older versions of the
C run-time library because the control structures were located in a
different and separate location in memory. Often, coding errors like this
resulted in the corruption of another block of memory and possibly a crash.
The sequence of events leading to an access violation will be different
when you use the Visual C++ 6.0 C run-time libraries.
Keywords : kbservicepack kbCRT kbVC600 kbVS600sp2 kbVS600sp2bug kbVS600sp2fix kbVS600SP1 kbVS600sp3fix |
Last Reviewed: June 25, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |