FIX: An ActiveX control in an application that is created by using Visual Studio 2005 crashes when the AtlIPersistPropertyBag_Load function is called, and an "Access Violation" exception may occur

You use Microsoft Visual Studio 2005, and you create an ActiveX control in an application. You call the AtlIPersistPropertyBag_Load function from the ATLCOM.h file. When you run the control, an "Access Violation" exception may occur. Additionally, the application crashes.

Symptoms

This problem occurs because the CComVariant::Clear function does not clear some members in the CComVariant object. When the destructor is called, the SysFreeString function is called if a basic string (BSTR) exists in the out-of-date members. Then, an invalid address is accessed, and this causes the access violation.

Note This behavior occurs in the AtlIPersistPropertyBag_Load function.

Cause

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:

http:⁠//support.microsoft.com/contactus/?ws=support Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Microsoft Visual Studio 2005 Service Pack 1 (SP1) installed.

For more information about how to obtain the service pack, click the following article number to view the article in the Microsoft Knowledge Base:

929697 How to obtain the latest Visual Studio 2005 service pack

Restart information

You may have to restart the computer after you install this hotfix if the affected files are being used. We recommend that you exit any instances of Visual Studio before you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

This hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

File name File version File size Date Time Platform
Atl80.dll 8.0.50727.6203 119,984 27-Jun-2011 04:07 x86
Atl80.dll 8.0.50727.6203 82,096 27-Jun-2011 04:08 x86
Atl80.dll 8.0.50727.6203 81,072 27-Jun-2011 04:08 x86
Atl80.dll 8.0.50727.6203 117,936 27-Jun-2011 04:08 x86
Atl80.dll 8.0.50727.6203 119,984 27-Jun-2011 04:08 x86
Atl80.dll 8.0.50727.6203 117,936 27-Jun-2011 04:08 x86
Atl80.dll 8.0.50727.6203 91,824 27-Jun-2011 04:08 x86
Atl80.dll 8.0.50727.6203 111,792 27-Jun-2011 04:08 x86
atl.lib 12,154 26-Jun-2011 22:08 x86
atl.lib 12,154 26-Jun-2011 22:08 x86
atl.lib 12,154 26-Jun-2011 22:08 x86
atl.lib 12,154 26-Jun-2011 22:08 x86
atl.lib 12,154 26-Jun-2011 22:08 x86
atl.lib 12,154 26-Jun-2011 22:08 x86
atl.lib 12,380 26-Jun-2011 22:08 x86
atl.lib 12,380 26-Jun-2011 22:08 x86
atlcom.h 175,950 26-Jun-2011 22:08
atlcomcli.h 68,740 26-Jun-2011 22:08
atlosapis.lib 124,748 26-Jun-2011 22:06 x86
atlosapis.lib 125,026 26-Jun-2011 22:06 x86
atlosapis.lib 120,830 26-Jun-2011 22:06 x86
atlosapis.lib 121,652 26-Jun-2011 22:06 x86
atlosapis.lib 124,428 26-Jun-2011 22:06 x86
atlosapis.lib 122,192 26-Jun-2011 22:06 x86
atlosapis.lib 113,022 26-Jun-2011 22:06 x86
atlosapis.lib 131,122 26-Jun-2011 22:06 x86
atls.lib 814,070 26-Jun-2011 22:08 x86
atls.lib 817,108 26-Jun-2011 22:08 x86
atls.lib 1,133,736 26-Jun-2011 22:08 x86
atls.lib 1,133,870 26-Jun-2011 22:08 x86
atls.lib 1,137,342 26-Jun-2011 22:08 x86
atls.lib 1,137,476 26-Jun-2011 22:08 x86
atls.lib 1,267,068 26-Jun-2011 22:08 x86
atls.lib 1,110,478 26-Jun-2011 22:08 x86
atlsd.lib 1,275,334 26-Jun-2011 22:08 x86
atlsd.lib 1,293,630 26-Jun-2011 22:08 x86
atlsd.lib 1,709,616 26-Jun-2011 22:08 x86
atlsd.lib 1,708,950 26-Jun-2011 22:08 x86
atlsd.lib 1,718,824 26-Jun-2011 22:08 x86
atlsd.lib 1,717,314 26-Jun-2011 22:08 x86
atlsd.lib 1,499,144 26-Jun-2011 22:08 x86
atlsd.lib 1,288,248 26-Jun-2011 22:08 x86

              

Resolution

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Status

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

More Information