FIX: Exception in DrawCli When Displaying Summary InformationLast reviewed: September 19, 1997Article ID: Q153963 |
|
4.00 4.10 4.20
WINDOWS NT
kbole kbbuglist kbfixlist
The information in this article applies to:
SYMPTOMSWhen displaying the Summary Info for an existing DrawCli file with Summary Info saved, DrawCli may crash with the following error:
Unhandled Exception : Access ViolationDrawCli is an MFC OLE sample that is shipped with Visual C++.
CAUSECSummInfo::ReadFromStorage does not set CSummInfo::m_pSection. This behavior leaves a dangling pointer into memory that has been deleted.
RESOLUTIONModify 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;
}
STATUSMicrosoft 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.
|
Additional reference words: 4.00 4.10 4.20 mfcole vcbuglist400 vcfixlist420
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |