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