Help and Support

FIX: Exception in DrawCli When Displaying Summary Information

Article ID:153963
Last Review:December 2, 2003
Revision:2.0
This article was previously published under Q153963

SYMPTOMS

When displaying the Summary Info for an existing DrawCli file with Summary Info saved, DrawCli may crash with the following error:
Unhandled Exception : Access Violation
DrawCli is an MFC OLE sample that is shipped with Visual C++.

Back to the top

CAUSE

CSummInfo::ReadFromStorage does not set CSummInfo::m_pSection. This behavior leaves a dangling pointer into memory that has been deleted.

Back to the top

RESOLUTION

Modify the ReadFromStorage as follows:
   BOOL CSummInfo::ReadFromStorage( LPSTORAGE lpRootStg )
   {
       if (lpRootStg != NULL)
       {
           LPSTREAM lpStream = NULL;

           if (FAILED(lpRootStg->OpenStream( szSummInfo,
                      NULL, STGM_SHARE_EXCLUSIVE|STGM_READ,
                      0, &lpStream )))
           {
               TRACE(_T("OpenStream failed\n"));
               return FALSE;
           }
           else
           {
               if (!m_propSet.ReadFromStream( lpStream ))
               {
                   TRACE(_T("ReadFromStream failed\n"));
                   return FALSE;
               }
   // add the following line
               m_pSection = m_propSet.GetSection(FMTID_SummaryInformation);

               lpStream->Release();
               return TRUE;
           }
       }
       return FALSE;
   }
				

Back to the top

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ version 4.2.

Back to the top


APPLIES TO
Microsoft Visual C++ 4.0 Standard Edition
Microsoft Visual C++ 4.1 Subscription
Microsoft Visual C++ 4.2 Enterprise Edition
Microsoft Visual C++ 4.2 Professional Edition

Back to the top

Keywords: 
kbbug kbfix KB153963

Back to the top

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.