Module: wine Branch: master Commit: 35a9587613f391f772ce027ac93dabba1190a791 URL: http://source.winehq.org/git/wine.git/?a=commit;h=35a9587613f391f772ce027ac9...
Author: Dmitry Timoshkov dmitry@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; }
/*************************************************************************