OpenInfo = (PFONT_OPEN_INFO) HeapAlloc( hProcessHeap, HEAP_ZERO_MEMORY, sizeof(FONT_OPEN_INFO) );
OpenInfo->pszFileName = HeapAlloc(hProcessHeap, 0, MAX_PATH);
- OpenInfo->pszFileName[0] = 0;
+ if (OpenInfo->pszFileName)
+ {
+ OpenInfo->pszFileName[0] = 0;
- if( DoOpenFile(OpenInfo->pszFileName) )
+ if (DoOpenFile(OpenInfo->pszFileName))
+ {
+ OpenInfo->bCreateNew = FALSE;
+ CreateFontWindow(Info, OpenInfo);
+ }
+ }
+ else
{
- OpenInfo->bCreateNew = FALSE;
- CreateFontWindow(Info, OpenInfo);
+ MessageBoxW(Info->hMainWnd, L"Out of memory!", NULL, MB_ICONERROR);
}
}
OpenInfo = HeapAlloc(hProcessHeap, HEAP_ZERO_MEMORY, sizeof(FONT_OPEN_INFO));
OpenInfo->pszFileName = HeapAlloc(hProcessHeap, 0, MAX_PATH);
- lstrcpynW(OpenInfo->pszFileName, File, MAX_PATH);
-
- OpenInfo->bCreateNew = FALSE;
- CreateFontWindow(Info, OpenInfo);
+ if (OpenInfo->pszFileName)
+ {
+ if (StringCchCopyW(OpenInfo->pszFileName, MAX_PATH, File) == S_OK)
+ {
+ OpenInfo->bCreateNew = FALSE;
+ CreateFontWindow(Info, OpenInfo);
+ }
+ else
+ {
+ MessageBoxW(Info->hMainWnd, L"Pathname is too long!", NULL, MB_ICONERROR);
+ }
+ }
+ else
+ {
+ MessageBoxW(Info->hMainWnd, L"Out of memory!", NULL, MB_ICONERROR);
+ }
}
static VOID