From: Piotr Caban Date: Wed, 27 Jan 2016 12:04:19 +0000 (+0100) Subject: oleaut32: Update cdguid on data reallocation in WMSFT_compile_custdata. X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=17af4fe59255a52beff026d39631fa35378b645e;p=wine%2Feterwine.git oleaut32: Update cdguid on data reallocation in WMSFT_compile_custdata. Signed-off-by: Piotr Caban Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 2a24b79c4d..af477d5fad 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -9280,7 +9280,7 @@ static DWORD WMSFT_compile_custdata(struct list *custdata_list, WMSFT_TLBFile *f { WMSFT_SegContents *cdguids_seg = &file->cdguids_seg; DWORD ret = cdguids_seg->len, offs; - MSFT_CDGuid *cdguid = cdguids_seg->data; + MSFT_CDGuid *cdguid; TLBCustData *cd; if(list_empty(custdata_list)) @@ -9289,8 +9289,10 @@ static DWORD WMSFT_compile_custdata(struct list *custdata_list, WMSFT_TLBFile *f cdguids_seg->len += sizeof(MSFT_CDGuid) * list_count(custdata_list); if(!cdguids_seg->data){ cdguid = cdguids_seg->data = heap_alloc(cdguids_seg->len); - }else + }else { cdguids_seg->data = heap_realloc(cdguids_seg->data, cdguids_seg->len); + cdguid = (MSFT_CDGuid*)((char*)cdguids_seg->data + ret); + } offs = ret + sizeof(MSFT_CDGuid); LIST_FOR_EACH_ENTRY(cd, custdata_list, TLBCustData, entry){