Dmitry Timoshkov : shlwapi: Avoid potential NULL pointer access if HeapAlloc fails.
Alexandre Julliard
julliard at winehq.org
Wed Feb 19 14:48:17 CST 2014
Module: wine
Branch: master
Commit: 35a9587613f391f772ce027ac93dabba1190a791
URL: http://source.winehq.org/git/wine.git/?a=commit;h=35a9587613f391f772ce027ac93dabba1190a791
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Mon Feb 17 14:48:35 2014 +0900
shlwapi: Avoid potential NULL pointer access if HeapAlloc fails.
---
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;
}
/*************************************************************************
More information about the wine-cvs
mailing list