[PATCH 0/8] MR2920: ole32: Use CRT functions for monikers.
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/antimoniker.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/dlls/ole32/antimoniker.c b/dlls/ole32/antimoniker.c index 2a7be8e75cc..e4ee4a729d4 100644 --- a/dlls/ole32/antimoniker.c +++ b/dlls/ole32/antimoniker.c @@ -18,7 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include <assert.h> #include <stdarg.h> #include <string.h> @@ -27,10 +26,8 @@ #include "windef.h" #include "winbase.h" -#include "winerror.h" #include "objbase.h" #include "wine/debug.h" -#include "wine/heap.h" #include "moniker.h" WINE_DEFAULT_DEBUG_CHANNEL(ole); @@ -140,7 +137,7 @@ static ULONG WINAPI AntiMonikerImpl_Release(IMoniker *iface) if (!refcount) { if (moniker->pMarshal) IUnknown_Release(moniker->pMarshal); - heap_free(moniker); + free(moniker); } return refcount; @@ -616,8 +613,7 @@ HRESULT create_anti_moniker(DWORD order, IMoniker **ret) { AntiMonikerImpl *moniker; - moniker = heap_alloc_zero(sizeof(*moniker)); - if (!moniker) + if (!(moniker = calloc(1, sizeof(*moniker)))) return E_OUTOFMEMORY; moniker->IMoniker_iface.lpVtbl = &VT_AntiMonikerImpl; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/antimoniker.c | 10 +++------- dlls/ole32/tests/moniker.c | 4 +++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/dlls/ole32/antimoniker.c b/dlls/ole32/antimoniker.c index e4ee4a729d4..855bd47fb27 100644 --- a/dlls/ole32/antimoniker.c +++ b/dlls/ole32/antimoniker.c @@ -294,16 +294,12 @@ AntiMonikerImpl_ComposeWith(IMoniker* iface, IMoniker* pmkRight, return CreateGenericComposite(iface,pmkRight,ppmkComposite); } -/****************************************************************************** - * AntiMoniker_Enum - ******************************************************************************/ -static HRESULT WINAPI -AntiMonikerImpl_Enum(IMoniker* iface,BOOL fForward, IEnumMoniker** ppenumMoniker) +static HRESULT WINAPI AntiMonikerImpl_Enum(IMoniker *iface, BOOL forward, IEnumMoniker **ppenumMoniker) { - TRACE("(%p,%d,%p)\n",iface,fForward,ppenumMoniker); + TRACE("%p, %d, %p.\n", iface, forward, ppenumMoniker); if (ppenumMoniker == NULL) - return E_POINTER; + return E_INVALIDARG; *ppenumMoniker = NULL; diff --git a/dlls/ole32/tests/moniker.c b/dlls/ole32/tests/moniker.c index a507c63171c..9c583d27c47 100644 --- a/dlls/ole32/tests/moniker.c +++ b/dlls/ole32/tests/moniker.c @@ -3037,7 +3037,9 @@ static void test_anti_moniker(void) ok(!enummoniker, "Unexpected pointer.\n"); hr = IMoniker_Enum(moniker, FALSE, NULL); - todo_wine + ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr); + + hr = IMoniker_Enum(moniker, TRUE, NULL); ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr); /* CommonPrefixWith() */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/classmoniker.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/dlls/ole32/classmoniker.c b/dlls/ole32/classmoniker.c index 6199a5a5182..4b95f577b84 100644 --- a/dlls/ole32/classmoniker.c +++ b/dlls/ole32/classmoniker.c @@ -30,7 +30,6 @@ #include "winbase.h" #include "winuser.h" #include "wine/debug.h" -#include "wine/heap.h" #include "ole2.h" #include "moniker.h" @@ -138,8 +137,8 @@ static ULONG WINAPI ClassMoniker_Release(IMoniker* iface) if (!ref) { if (moniker->pMarshal) IUnknown_Release(moniker->pMarshal); - heap_free(moniker->data); - heap_free(moniker); + free(moniker->data); + free(moniker); } return ref; @@ -187,8 +186,8 @@ static HRESULT WINAPI ClassMoniker_Load(IMoniker *iface, IStream *stream) if (moniker->header.data_len) { - heap_free(moniker->data); - if (!(moniker->data = heap_alloc(moniker->header.data_len))) + free(moniker->data); + if (!(moniker->data = malloc(moniker->header.data_len))) { WARN("Failed to allocate moniker data of size %lu.\n", moniker->header.data_len); moniker->header.data_len = 0; @@ -597,7 +596,7 @@ static HRESULT create_class_moniker(const CLSID *clsid, const WCHAR *data, { ClassMoniker *object; - if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; object->IMoniker_iface.lpVtbl = &ClassMonikerVtbl; @@ -608,7 +607,7 @@ static HRESULT create_class_moniker(const CLSID *clsid, const WCHAR *data, { object->header.data_len = (data_len + 1) * sizeof(WCHAR); - if (!(object->data = heap_alloc(object->header.data_len))) + if (!(object->data = malloc(object->header.data_len))) { IMoniker_Release(&object->IMoniker_iface); return E_OUTOFMEMORY; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/pointermoniker.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/dlls/ole32/pointermoniker.c b/dlls/ole32/pointermoniker.c index 0beab94c649..9b5ea8caf76 100644 --- a/dlls/ole32/pointermoniker.c +++ b/dlls/ole32/pointermoniker.c @@ -32,7 +32,6 @@ #include "objbase.h" #include "oleidl.h" #include "wine/debug.h" -#include "wine/heap.h" #include "moniker.h" WINE_DEFAULT_DEBUG_CHANNEL(ole); @@ -110,7 +109,7 @@ static ULONG WINAPI PointerMonikerImpl_Release(IMoniker *iface) if (!refcount) { if (moniker->pObject) IUnknown_Release(moniker->pObject); - heap_free(moniker); + free(moniker); } return refcount; @@ -600,8 +599,7 @@ HRESULT WINAPI CreatePointerMoniker(IUnknown *object, IMoniker **ret) if (!ret) return E_INVALIDARG; - moniker = heap_alloc(sizeof(*moniker)); - if (!moniker) + if (!(moniker = calloc(1, sizeof(*moniker)))) { *ret = NULL; return E_OUTOFMEMORY; @@ -714,7 +712,7 @@ static ULONG WINAPI ObjrefMonikerImpl_Release(IMoniker *iface) if (!refcount) { if (moniker->pObject) IUnknown_Release(moniker->pObject); - heap_free(moniker); + free(moniker); } return refcount; @@ -1017,8 +1015,7 @@ HRESULT WINAPI CreateObjrefMoniker(IUnknown *obj, IMoniker **ret) if (!ret) return E_INVALIDARG; - moniker = heap_alloc(sizeof(*moniker)); - if (!moniker) + if (!(moniker = calloc(1, sizeof(*moniker)))) { *ret = NULL; return E_OUTOFMEMORY; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/itemmoniker.c | 41 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/dlls/ole32/itemmoniker.c b/dlls/ole32/itemmoniker.c index 5c69266fc9c..f0c722bbf26 100644 --- a/dlls/ole32/itemmoniker.c +++ b/dlls/ole32/itemmoniker.c @@ -31,7 +31,6 @@ #include "winuser.h" #include "winnls.h" #include "wine/debug.h" -#include "wine/heap.h" #include "ole2.h" #include "moniker.h" @@ -100,7 +99,7 @@ static ULONG WINAPI container_lock_Release(IUnknown *iface) { IOleItemContainer_LockContainer(lock->container, FALSE); IOleItemContainer_Release(lock->container); - heap_free(lock); + free(lock); } return refcount; @@ -118,12 +117,12 @@ static HRESULT set_container_lock(IOleItemContainer *container, IBindCtx *pbc) struct container_lock *lock; HRESULT hr; - if (!(lock = heap_alloc(sizeof(*lock)))) + if (!(lock = malloc(sizeof(*lock)))) return E_OUTOFMEMORY; if (FAILED(hr = IOleItemContainer_LockContainer(container, TRUE))) { - heap_free(lock); + free(lock); return hr; } @@ -203,9 +202,9 @@ static ULONG WINAPI ItemMonikerImpl_Release(IMoniker* iface) if (!refcount) { if (moniker->pMarshal) IUnknown_Release(moniker->pMarshal); - heap_free(moniker->itemName); - heap_free(moniker->itemDelimiter); - heap_free(moniker); + free(moniker->itemName); + free(moniker->itemDelimiter); + free(moniker); } return refcount; @@ -253,18 +252,18 @@ static HRESULT item_moniker_load_string_record(IStream *stream, WCHAR **ret) if (!str_len) { - heap_free(*ret); + free(*ret); *ret = NULL; return S_OK; } - if (!(buffer = heap_alloc(str_len))) + if (!(buffer = malloc(str_len))) return E_OUTOFMEMORY; IStream_Read(stream, buffer, str_len, &read_len); if (read_len != str_len) { - heap_free(buffer); + free(buffer); return E_FAIL; } @@ -291,7 +290,7 @@ static HRESULT item_moniker_load_string_record(IStream *stream, WCHAR **ret) goto end; } - str = heap_alloc(str_len + sizeof(WCHAR)); + str = malloc(str_len + sizeof(WCHAR)); if (str) { memcpy(str, &buffer[i + 1], str_len); @@ -301,21 +300,21 @@ static HRESULT item_moniker_load_string_record(IStream *stream, WCHAR **ret) else { lenW = MultiByteToWideChar(CP_ACP, 0, buffer, -1, NULL, 0); - str = heap_alloc(lenW * sizeof(WCHAR)); + str = malloc(lenW * sizeof(WCHAR)); if (str) MultiByteToWideChar(CP_ACP, 0, buffer, -1, str, lenW); } if (str) { - heap_free(*ret); + free(*ret); *ret = str; } else hr = E_OUTOFMEMORY; end: - heap_free(buffer); + free(buffer); return hr; } @@ -361,13 +360,13 @@ static HRESULT WINAPI ItemMonikerImpl_Save(IMoniker *iface, IStream *stream, BOO if (This->itemDelimiter) { str_len = WideCharToMultiByte(CP_ACP, 0, This->itemDelimiter, -1, NULL, 0, NULL, NULL); - str = heap_alloc(str_len); + str = malloc(str_len); WideCharToMultiByte(CP_ACP, 0, This->itemDelimiter, -1, str, str_len, NULL, NULL); hr = IStream_Write(stream, &str_len, sizeof(str_len), NULL); hr = IStream_Write(stream, str, str_len, NULL); - heap_free(str); + free(str); } else { @@ -376,11 +375,11 @@ static HRESULT WINAPI ItemMonikerImpl_Save(IMoniker *iface, IStream *stream, BOO } str_len = WideCharToMultiByte(CP_ACP, 0, This->itemName, -1, NULL, 0, NULL, NULL); - str = heap_alloc(str_len); + str = malloc(str_len); WideCharToMultiByte(CP_ACP, 0, This->itemName, -1, str, str_len, NULL, NULL); hr = IStream_Write(stream, &str_len, sizeof(str_len), NULL); hr = IStream_Write(stream, str, str_len, NULL); - heap_free(str); + free(str); return hr; } @@ -940,7 +939,7 @@ HRESULT WINAPI CreateItemMoniker(const WCHAR *delimiter, const WCHAR *name, IMon TRACE("%s, %s, %p.\n", debugstr_w(delimiter), debugstr_w(name), ret); - if (!(moniker = heap_alloc_zero(sizeof(*moniker)))) + if (!(moniker = calloc(1, sizeof(*moniker)))) return E_OUTOFMEMORY; moniker->IMoniker_iface.lpVtbl = &VT_ItemMonikerImpl; @@ -948,7 +947,7 @@ HRESULT WINAPI CreateItemMoniker(const WCHAR *delimiter, const WCHAR *name, IMon moniker->ref = 1; str_len = (lstrlenW(name) + 1) * sizeof(WCHAR); - moniker->itemName = heap_alloc(str_len); + moniker->itemName = malloc(str_len); if (!moniker->itemName) { hr = E_OUTOFMEMORY; @@ -959,7 +958,7 @@ HRESULT WINAPI CreateItemMoniker(const WCHAR *delimiter, const WCHAR *name, IMon if (delimiter) { str_len = (lstrlenW(delimiter) + 1) * sizeof(WCHAR); - moniker->itemDelimiter = heap_alloc(str_len); + moniker->itemDelimiter = malloc(str_len); if (!moniker->itemDelimiter) { hr = E_OUTOFMEMORY; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/compositemoniker.c | 51 +++++++++++++++++------------------ 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/dlls/ole32/compositemoniker.c b/dlls/ole32/compositemoniker.c index 7f0ff55627e..d322604adce 100644 --- a/dlls/ole32/compositemoniker.c +++ b/dlls/ole32/compositemoniker.c @@ -32,7 +32,6 @@ #include "moniker.h" #include "wine/debug.h" -#include "wine/heap.h" WINE_DEFAULT_DEBUG_CHANNEL(ole); @@ -153,7 +152,7 @@ static ULONG WINAPI CompositeMonikerImpl_Release(IMoniker* iface) { if (moniker->left) IMoniker_Release(moniker->left); if (moniker->right) IMoniker_Release(moniker->right); - heap_free(moniker); + free(moniker); } return refcount; @@ -483,7 +482,7 @@ static HRESULT composite_get_components_alloc(IMoniker *iface, unsigned int *cou else *count = 1; - if (!(*components = heap_alloc(*count * sizeof(**components)))) + if (!(*components = malloc(*count * sizeof(**components)))) return E_OUTOFMEMORY; index = 0; @@ -507,7 +506,7 @@ static HRESULT WINAPI CompositeMonikerImpl_Enum(IMoniker *iface, BOOL forward, I return hr; hr = create_enumerator(monikers, count, forward, ret_enum); - heap_free(monikers); + free(monikers); return hr; } @@ -533,7 +532,7 @@ static HRESULT WINAPI CompositeMonikerImpl_IsEqual(IMoniker *iface, IMoniker *ot if (FAILED(hr = composite_get_components_alloc(iface, &count, &components))) return hr; if (FAILED(hr = composite_get_components_alloc(other, &count, &other_components))) { - heap_free(components); + free(components); return hr; } @@ -543,8 +542,8 @@ static HRESULT WINAPI CompositeMonikerImpl_IsEqual(IMoniker *iface, IMoniker *ot break; } - heap_free(other_components); - heap_free(components); + free(other_components); + free(components); return hr; } @@ -724,15 +723,15 @@ static HRESULT WINAPI CompositeMonikerImpl_CommonPrefixWith(IMoniker *iface, IMo if (FAILED(hr = composite_get_components_alloc(iface, &count, &components))) return hr; if (FAILED(hr = composite_get_components_alloc(other, &count, &other_components))) { - heap_free(components); + free(components); return hr; } count = min(moniker->comp_count, other_moniker->comp_count); - if (!(prefix_components = heap_calloc(count, sizeof(*prefix_components)))) + if (!(prefix_components = calloc(count, sizeof(*prefix_components)))) { - heap_free(components); - heap_free(other_components); + free(components); + free(other_components); return E_OUTOFMEMORY; } @@ -748,12 +747,12 @@ static HRESULT WINAPI CompositeMonikerImpl_CommonPrefixWith(IMoniker *iface, IMo if (hr == S_OK) break; } - heap_free(components); - heap_free(other_components); + free(components); + free(other_components); if (!prefix_len) { - heap_free(prefix_components); + free(prefix_components); return MK_E_NOPREFIX; } @@ -766,7 +765,7 @@ static HRESULT WINAPI CompositeMonikerImpl_CommonPrefixWith(IMoniker *iface, IMo if (FAILED(hr)) break; last = c; } - heap_free(prefix_components); + free(prefix_components); if (SUCCEEDED(hr)) { @@ -839,7 +838,7 @@ static HRESULT WINAPI CompositeMonikerImpl_RelativePathTo(IMoniker *iface, IMoni if (FAILED(hr = composite_get_components_alloc(iface, &this_count, &components))) return hr; if (FAILED(hr = composite_get_components_alloc(other, &other_count, &other_components))) { - heap_free(components); + free(components); return hr; } @@ -897,8 +896,8 @@ static HRESULT WINAPI CompositeMonikerImpl_RelativePathTo(IMoniker *iface, IMoni if (other_tail) IMoniker_Release(other_tail); - heap_free(other_components); - heap_free(components); + free(other_components); + free(components); return hr; } @@ -1296,8 +1295,8 @@ static ULONG WINAPI EnumMonikerImpl_Release(IEnumMoniker *iface) { for (i = 0; i < e->count; ++i) IMoniker_Release(e->monikers[i]); - heap_free(e->monikers); - heap_free(e); + free(e->monikers); + free(e); } return refcount; @@ -1385,16 +1384,16 @@ static HRESULT create_enumerator(IMoniker **components, unsigned int count, BOOL EnumMonikerImpl *object; unsigned int i; - if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; object->IEnumMoniker_iface.lpVtbl = &VT_EnumMonikerImpl; object->ref = 1; object->count = count; - if (!(object->monikers = heap_calloc(count, sizeof(*object->monikers)))) + if (!(object->monikers = calloc(count, sizeof(*object->monikers)))) { - heap_free(object); + free(object); return E_OUTOFMEMORY; } @@ -1473,7 +1472,7 @@ static HRESULT moniker_get_tree_representation(IMoniker *moniker, struct comp_no CompositeMonikerImpl *comp_moniker; struct comp_node *node; - if (!(node = heap_alloc_zero(sizeof(*node)))) + if (!(node = calloc(1, sizeof(*node)))) return E_OUTOFMEMORY; node->parent = parent; @@ -1511,7 +1510,7 @@ static void moniker_tree_node_release(struct comp_node *node) { if (node->moniker) IMoniker_Release(node->moniker); - heap_free(node); + free(node); } static void moniker_tree_release(struct comp_node *node) @@ -1750,7 +1749,7 @@ static HRESULT create_composite(IMoniker *left, IMoniker *right, IMoniker **moni *moniker = NULL; - if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; object->IMoniker_iface.lpVtbl = &VT_CompositeMonikerImpl; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/filemoniker.c | 77 +++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 40 deletions(-) diff --git a/dlls/ole32/filemoniker.c b/dlls/ole32/filemoniker.c index 9b64d0e43e9..73b3e825ebd 100644 --- a/dlls/ole32/filemoniker.c +++ b/dlls/ole32/filemoniker.c @@ -134,8 +134,8 @@ static ULONG WINAPI FileMonikerImpl_Release(IMoniker* iface) if (!ref) { if (moniker->pMarshal) IUnknown_Release(moniker->pMarshal); - HeapFree(GetProcessHeap(), 0, moniker->filePathName); - HeapFree(GetProcessHeap(), 0, moniker); + free(moniker->filePathName); + free(moniker); } return ref; @@ -211,7 +211,7 @@ FileMonikerImpl_Load(IMoniker* iface, IStream* pStm) } /* read filePath string */ - filePathA=HeapAlloc(GetProcessHeap(),0,bytesA); + filePathA = malloc(bytesA); if (!filePathA) { res = E_OUTOFMEMORY; @@ -262,7 +262,7 @@ FileMonikerImpl_Load(IMoniker* iface, IStream* pStm) if (!len) goto fail; - filePathW=HeapAlloc(GetProcessHeap(),0,(len+1)*sizeof(WCHAR)); + filePathW = malloc((len + 1) * sizeof(WCHAR)); if (!filePathW) { res = E_OUTOFMEMORY; @@ -286,7 +286,7 @@ FileMonikerImpl_Load(IMoniker* iface, IStream* pStm) goto fail; len=bytesW/sizeof(WCHAR); - filePathW=HeapAlloc(GetProcessHeap(),0,(len+1)*sizeof(WCHAR)); + filePathW = malloc((len + 1) * sizeof(WCHAR)); if(!filePathW) { res = E_OUTOFMEMORY; @@ -299,15 +299,15 @@ FileMonikerImpl_Load(IMoniker* iface, IStream* pStm) filePathW[len]=0; succeed: - HeapFree(GetProcessHeap(),0,filePathA); - HeapFree(GetProcessHeap(),0,This->filePathName); + free(filePathA); + free(This->filePathName); This->filePathName=filePathW; return S_OK; fail: - HeapFree(GetProcessHeap(), 0, filePathA); - HeapFree(GetProcessHeap(), 0, filePathW); + free(filePathA); + free(filePathW); if (SUCCEEDED(res)) res = E_FAIL; @@ -372,12 +372,12 @@ FileMonikerImpl_Save(IMoniker* iface, IStream* pStm, BOOL fClearDirty) if (FAILED(res)) return res; /* write A string (with '\0') */ - filePathA=HeapAlloc(GetProcessHeap(),0,bytesA); + filePathA = malloc(bytesA); if (!filePathA) return E_OUTOFMEMORY; WideCharToMultiByte( CP_ACP, 0, filePathW, -1, filePathA, bytesA, NULL, &bUsedDefault); res=IStream_Write(pStm,filePathA,bytesA,NULL); - HeapFree(GetProcessHeap(),0,filePathA); + free(filePathA); if (FAILED(res)) return res; /* write a WORD 0xFFFF */ @@ -758,7 +758,7 @@ FileMonikerImpl_ComposeWith(IMoniker* iface, IMoniker* pmkRight, lastIdx1-=2; /* the length of the composed path string is increased by the sum of the two paths' lengths */ - newStr=HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(lstrlenW(str1)+lstrlenW(str2)+1)); + newStr = malloc(sizeof(WCHAR)*(lstrlenW(str1)+lstrlenW(str2)+1)); if (newStr){ /* new path is the concatenation of the rest of str1 and str2 */ @@ -774,8 +774,7 @@ FileMonikerImpl_ComposeWith(IMoniker* iface, IMoniker* pmkRight, /* create a new moniker with the new string */ res=CreateFileMoniker(newStr,ppmkComposite); - /* free string memory used by this function */ - HeapFree(GetProcessHeap(),0,newStr); + free(newStr); } else res = E_OUTOFMEMORY; } @@ -1098,7 +1097,7 @@ FileMonikerImpl_RelativePathTo(IMoniker* iface,IMoniker* pmOther, IMoniker** ppm /* begin the construction of relativePath */ /* if the two paths have a consecutive similar item from the begin ! the relativePath will be composed */ /* by "..\\" in the begin */ - relPath=HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(1+lstrlenW(str1)+lstrlenW(str2))); + relPath = malloc(sizeof(WCHAR)*(1+lstrlenW(str1)+lstrlenW(str2))); *relPath=0; @@ -1117,7 +1116,7 @@ FileMonikerImpl_RelativePathTo(IMoniker* iface,IMoniker* pmOther, IMoniker** ppm free_stringtable(tabStr2); CoTaskMemFree(str1); CoTaskMemFree(str2); - HeapFree(GetProcessHeap(),0,relPath); + free(relPath); if (len1==0 || len2==0 || (len1==1 && len2==1 && sameIdx==0)) return MK_S_HIM; @@ -1305,7 +1304,7 @@ static HRESULT FileMonikerImpl_Construct(FileMonikerImpl* This, LPCOLESTR lpszPa This->ref = 0; This->pMarshal = NULL; - This->filePathName=HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(sizeStr+1)); + This->filePathName = malloc(sizeof(WCHAR)*(sizeStr+1)); if (This->filePathName==NULL) return E_OUTOFMEMORY; @@ -1341,7 +1340,7 @@ static HRESULT FileMonikerImpl_Construct(FileMonikerImpl* This, LPCOLESTR lpszPa if (!wcscmp(tabStr[nb-1], L"\\")) addBkSlash = FALSE; - This->filePathName=HeapReAlloc(GetProcessHeap(),0,This->filePathName,(sizeStr+1)*sizeof(WCHAR)); + This->filePathName = realloc(This->filePathName, (sizeStr+1)*sizeof(WCHAR)); *This->filePathName=0; @@ -1362,10 +1361,10 @@ static HRESULT FileMonikerImpl_Construct(FileMonikerImpl* This, LPCOLESTR lpszPa ******************************************************************************/ HRESULT WINAPI CreateFileMoniker(LPCOLESTR lpszPathName, IMoniker **ppmk) { - FileMonikerImpl* newFileMoniker; + FileMonikerImpl *moniker; HRESULT hr; - TRACE("(%s,%p)\n",debugstr_w(lpszPathName),ppmk); + TRACE("%s, %p.\n", debugstr_w(lpszPathName), ppmk); if (!ppmk) return E_POINTER; @@ -1375,17 +1374,15 @@ HRESULT WINAPI CreateFileMoniker(LPCOLESTR lpszPathName, IMoniker **ppmk) *ppmk=NULL; - newFileMoniker = HeapAlloc(GetProcessHeap(), 0, sizeof(FileMonikerImpl)); - - if (!newFileMoniker) + if (!(moniker = calloc(1, sizeof(*moniker)))) return E_OUTOFMEMORY; - hr = FileMonikerImpl_Construct(newFileMoniker,lpszPathName); + hr = FileMonikerImpl_Construct(moniker, lpszPathName); if (SUCCEEDED(hr)) - hr = IMoniker_QueryInterface(&newFileMoniker->IMoniker_iface,&IID_IMoniker,(void**)ppmk); + hr = IMoniker_QueryInterface(&moniker->IMoniker_iface, &IID_IMoniker, (void **)ppmk); else - HeapFree(GetProcessHeap(),0,newFileMoniker); + free(moniker); return hr; } @@ -1415,7 +1412,7 @@ HRESULT FileMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, DWORD full_path_name_len; int len = end - szDisplayName; - file_display_name = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR)); + file_display_name = malloc((len + 1) * sizeof(WCHAR)); if (!file_display_name) return E_OUTOFMEMORY; memcpy(file_display_name, szDisplayName, len * sizeof(WCHAR)); file_display_name[len] = '\0'; @@ -1423,14 +1420,14 @@ HRESULT FileMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, hr = CreateFileMoniker(file_display_name, &file_moniker); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, file_display_name); + free(file_display_name); return hr; } hr = IBindCtx_GetRunningObjectTable(pbc, &rot); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, file_display_name); + free(file_display_name); IMoniker_Release(file_moniker); return hr; } @@ -1439,7 +1436,7 @@ HRESULT FileMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, IRunningObjectTable_Release(rot); if (FAILED(hr)) { - HeapFree(GetProcessHeap(), 0, file_display_name); + free(file_display_name); IMoniker_Release(file_moniker); return hr; } @@ -1448,21 +1445,21 @@ HRESULT FileMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, TRACE("found running file moniker for %s\n", debugstr_w(file_display_name)); *pchEaten = len; *ppmk = file_moniker; - HeapFree(GetProcessHeap(), 0, file_display_name); + free(file_display_name); return S_OK; } full_path_name_len = GetFullPathNameW(file_display_name, 0, NULL, NULL); if (!full_path_name_len) { - HeapFree(GetProcessHeap(), 0, file_display_name); + free(file_display_name); IMoniker_Release(file_moniker); return MK_E_SYNTAX; } - full_path_name = HeapAlloc(GetProcessHeap(), 0, full_path_name_len * sizeof(WCHAR)); + full_path_name = malloc(full_path_name_len * sizeof(WCHAR)); if (!full_path_name) { - HeapFree(GetProcessHeap(), 0, file_display_name); + free(file_display_name); IMoniker_Release(file_moniker); return E_OUTOFMEMORY; } @@ -1475,12 +1472,12 @@ HRESULT FileMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, TRACE("got file moniker for %s\n", debugstr_w(szDisplayName)); *pchEaten = len; *ppmk = file_moniker; - HeapFree(GetProcessHeap(), 0, file_display_name); - HeapFree(GetProcessHeap(), 0, full_path_name); + free(file_display_name); + free(full_path_name); return S_OK; } - HeapFree(GetProcessHeap(), 0, file_display_name); - HeapFree(GetProcessHeap(), 0, full_path_name); + free(file_display_name); + free(full_path_name); IMoniker_Release(file_moniker); } @@ -1500,7 +1497,7 @@ HRESULT WINAPI FileMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, if (pUnk) return CLASS_E_NOAGGREGATION; - newFileMoniker = HeapAlloc(GetProcessHeap(), 0, sizeof(FileMonikerImpl)); + newFileMoniker = calloc(1, sizeof(*newFileMoniker)); if (!newFileMoniker) return E_OUTOFMEMORY; @@ -1509,7 +1506,7 @@ HRESULT WINAPI FileMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, if (SUCCEEDED(hr)) hr = IMoniker_QueryInterface(&newFileMoniker->IMoniker_iface, riid, ppv); if (FAILED(hr)) - HeapFree(GetProcessHeap(),0,newFileMoniker); + free(newFileMoniker); return hr; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
From: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/ole32/git.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c index 50848a2a020..4e432723914 100644 --- a/dlls/ole32/git.c +++ b/dlls/ole32/git.c @@ -182,7 +182,7 @@ StdGlobalInterfaceTable_RegisterInterfaceInGlobal( zero.QuadPart = 0; IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); - entry = HeapAlloc(GetProcessHeap(), 0, sizeof(StdGITEntry)); + entry = malloc(sizeof(*entry)); if (!entry) { CoReleaseMarshalData(stream); @@ -240,8 +240,8 @@ StdGlobalInterfaceTable_RevokeInterfaceFromGlobal( return hr; } IStream_Release(entry->stream); - - HeapFree(GetProcessHeap(), 0, entry); + + free(entry); return S_OK; } @@ -306,7 +306,7 @@ HRESULT WINAPI GlobalInterfaceTable_CreateInstance(IClassFactory *iface, IUnknow if (!std_git) { - git = heap_alloc(sizeof(*git)); + git = malloc(sizeof(*git)); if (!git) return E_OUTOFMEMORY; git->IGlobalInterfaceTable_iface.lpVtbl = &StdGlobalInterfaceTableImpl_Vtbl; @@ -315,7 +315,7 @@ HRESULT WINAPI GlobalInterfaceTable_CreateInstance(IClassFactory *iface, IUnknow if (InterlockedCompareExchangePointer((void **)&std_git, &git->IGlobalInterfaceTable_iface, NULL)) { - heap_free(git); + free(git); } else TRACE("Created the GIT %p\n", git); @@ -326,20 +326,20 @@ HRESULT WINAPI GlobalInterfaceTable_CreateInstance(IClassFactory *iface, IUnknow void release_std_git(void) { - StdGlobalInterfaceTableImpl *git; - StdGITEntry *entry, *entry2; + StdGlobalInterfaceTableImpl *git; + StdGITEntry *entry, *entry2; - if (!std_git) return; + if (!std_git) return; - git = impl_from_IGlobalInterfaceTable(std_git); - LIST_FOR_EACH_ENTRY_SAFE(entry, entry2, &git->list, StdGITEntry, entry) - { - list_remove(&entry->entry); + git = impl_from_IGlobalInterfaceTable(std_git); + LIST_FOR_EACH_ENTRY_SAFE(entry, entry2, &git->list, StdGITEntry, entry) + { + list_remove(&entry->entry); - CoReleaseMarshalData(entry->stream); - IStream_Release(entry->stream); - HeapFree(GetProcessHeap(), 0, entry); - } + CoReleaseMarshalData(entry->stream); + IStream_Release(entry->stream); + free(entry); + } - HeapFree(GetProcessHeap(), 0, git); + free(git); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2920
participants (2)
-
Nikolay Sivov -
Nikolay Sivov (@nsivov)