[2/3] shlwapi: Avoid potential NULL pointer access if HeapAlloc fails.
Dmitry Timoshkov
dmitry at baikal.ru
Sun Feb 16 23:48:35 CST 2014
---
dlls/shlwapi/istream.c | 31 +++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/dlls/shlwapi/istream.c b/dlls/shlwapi/istream.c
index 7d502a2..2e365d6 100644
--- a/dlls/shlwapi/istream.c
+++ b/dlls/shlwapi/istream.c
@@ -364,22 +364,21 @@ static const IStreamVtbl SHLWAPI_fsVTable =
*/
static IStream *IStream_Create(LPCWSTR lpszPath, HANDLE hFile, DWORD dwMode)
{
- ISHFileStream* fileStream;
-
- fileStream = HeapAlloc(GetProcessHeap(), 0, sizeof(ISHFileStream));
-
- if (fileStream)
- {
- fileStream->IStream_iface.lpVtbl = &SHLWAPI_fsVTable;
- fileStream->ref = 1;
- fileStream->hFile = hFile;
- fileStream->dwMode = dwMode;
- fileStream->lpszPath = StrDupW(lpszPath);
- fileStream->type = 0; /* FIXME */
- fileStream->grfStateBits = 0; /* FIXME */
- }
- TRACE ("Returning %p\n", fileStream);
- return &fileStream->IStream_iface;
+ ISHFileStream *fileStream;
+
+ fileStream = HeapAlloc(GetProcessHeap(), 0, sizeof(ISHFileStream));
+ if (!fileStream) return NULL;
+
+ fileStream->IStream_iface.lpVtbl = &SHLWAPI_fsVTable;
+ fileStream->ref = 1;
+ fileStream->hFile = hFile;
+ fileStream->dwMode = dwMode;
+ fileStream->lpszPath = StrDupW(lpszPath);
+ fileStream->type = 0; /* FIXME */
+ fileStream->grfStateBits = 0; /* FIXME */
+
+ TRACE ("Returning %p\n", fileStream);
+ return &fileStream->IStream_iface;
}
/*************************************************************************
--
1.8.5.5
More information about the wine-patches
mailing list