From d420a858da7db4948b7163809e1107bbe95d7eaf Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Sat, 13 Feb 2010 12:46:18 -0600 Subject: [PATCH] ole32: Add error checking to StorageBaseImpl_CreateStorage. --- dlls/ole32/storage32.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index a7c12b535fa..88e05244fdb 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -1132,15 +1132,22 @@ static HRESULT WINAPI StorageBaseImpl_CreateStorage( /* * Create a new directory entry for the storage */ - StorageBaseImpl_CreateDirEntry(This, &newEntry, &newEntryRef); + hr = StorageBaseImpl_CreateDirEntry(This, &newEntry, &newEntryRef); + if (FAILED(hr)) + return hr; /* * Insert the new directory entry into the parent storage's tree */ - insertIntoTree( + hr = insertIntoTree( This, This->storageDirEntry, newEntryRef); + if (FAILED(hr)) + { + StorageBaseImpl_DestroyDirEntry(This, newEntryRef); + return hr; + } /* * Open it to get a pointer to return.