From cb9e572611a4f046f1f538239824fe623947ad81 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Mon, 12 Sep 2011 12:50:18 -0500 Subject: [PATCH] ole32: Discard existing data when creating a new storage on an ILockBytes. --- dlls/ole32/storage32.c | 4 ++++ dlls/ole32/tests/storage32.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c index e983bf3715c..69a00cd5917 100644 --- a/dlls/ole32/storage32.c +++ b/dlls/ole32/storage32.c @@ -2740,6 +2740,10 @@ static HRESULT StorageImpl_Construct( ULARGE_INTEGER size; BYTE bigBlockBuffer[MAX_BIG_BLOCK_SIZE]; + /* Discard any existing data. */ + size.QuadPart = 0; + ILockBytes_SetSize(This->lockBytes, size); + /* * Initialize all header variables: * - The big block depot consists of one block and it is at block 0 diff --git a/dlls/ole32/tests/storage32.c b/dlls/ole32/tests/storage32.c index d0e5236346f..b8c6ada63af 100644 --- a/dlls/ole32/tests/storage32.c +++ b/dlls/ole32/tests/storage32.c @@ -2971,7 +2971,7 @@ static void test_hglobal_storage_creation(void) r = StgOpenStorageOnILockBytes(ilb, NULL, STGM_READ|STGM_SHARE_EXCLUSIVE, NULL, 0, &stg); - todo_wine ok(r == S_OK, "StgOpenStorageOnILockBytes failed, hr=%x\n", r); + ok(r == S_OK, "StgOpenStorageOnILockBytes failed, hr=%x\n", r); if (SUCCEEDED(r)) { -- 2.11.4.GIT