Vincent Povirk : ole32: Add error checking to StorageBaseImpl_CreateStream.
Module: wine Branch: master Commit: 1fab6e351564724d36c6cf97ce10c7bc32b81e0d URL: http://source.winehq.org/git/wine.git/?a=commit;h=1fab6e351564724d36c6cf97ce... Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Sat Feb 13 12:44:12 2010 -0600 ole32: Add error checking to StorageBaseImpl_CreateStream. --- dlls/ole32/storage32.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index 3beff78..a7c12b5 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -834,6 +834,7 @@ static HRESULT WINAPI StorageBaseImpl_CreateStream( StgStreamImpl* newStream; DirEntry currentEntry, newStreamEntry; DirRef currentEntryRef, newStreamEntryRef; + HRESULT hr; TRACE("(%p, %s, %x, %d, %d, %p)\n", iface, debugstr_w(pwcsName), grfMode, @@ -933,14 +934,22 @@ static HRESULT WINAPI StorageBaseImpl_CreateStream( /* * Create an entry with the new data */ - StorageBaseImpl_CreateDirEntry(This, &newStreamEntry, &newStreamEntryRef); + hr = StorageBaseImpl_CreateDirEntry(This, &newStreamEntry, &newStreamEntryRef); + if (FAILED(hr)) + return hr; + /* * Insert the new entry in the parent storage's tree. */ - insertIntoTree( + hr = insertIntoTree( This, This->storageDirEntry, newStreamEntryRef); + if (FAILED(hr)) + { + StorageBaseImpl_DestroyDirEntry(This, newStreamEntryRef); + return hr; + } /* * Open the stream to return it.
participants (1)
-
Alexandre Julliard