From 48ae8e9ced8475127bb83625d62dd641b88b9c99 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 4 Dec 2011 23:52:44 +0100 Subject: [PATCH] ole32: Handle VT_BLOB in PropertyStorage_ReadProperty. --- dlls/ole32/stg_prop.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dlls/ole32/stg_prop.c b/dlls/ole32/stg_prop.c index 53c2a99150c..53f57c18c31 100644 --- a/dlls/ole32/stg_prop.c +++ b/dlls/ole32/stg_prop.c @@ -1111,6 +1111,22 @@ static HRESULT PropertyStorage_ReadProperty(PropertyStorage_impl *This, } break; } + case VT_BLOB: + { + DWORD count; + + StorageUtl_ReadDWord(data, 0, &count); + prop->u.blob.cbSize = count; + prop->u.blob.pBlobData = CoTaskMemAlloc(count); + if (prop->u.blob.pBlobData) + { + memcpy(prop->u.blob.pBlobData, data + sizeof(DWORD), count); + TRACE("Read blob value of size %d\n", count); + } + else + hr = STG_E_INSUFFICIENTMEMORY; + break; + } case VT_LPWSTR: { DWORD count; -- 2.11.4.GIT