In addition to 41cfc86d8dd65c71a7c81b826d02ac0a99050d6a.
This fixes another crash when browsing help file that I have here.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/ieframe/dochost.c | 4 ++-- dlls/ieframe/ieframe.h | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/ieframe/dochost.c b/dlls/ieframe/dochost.c index 7717f786d52..4e1e1d82fa1 100644 --- a/dlls/ieframe/dochost.c +++ b/dlls/ieframe/dochost.c @@ -436,7 +436,7 @@ static void update_travellog(DocHost *This) }
if(!This->travellog.log) { - This->travellog.log = heap_alloc(4 * sizeof(*This->travellog.log)); + This->travellog.log = heap_alloc_zero(4 * sizeof(*This->travellog.log)); if(!This->travellog.log) return;
@@ -444,7 +444,7 @@ static void update_travellog(DocHost *This) }else if(This->travellog.size < This->travellog.position+1) { travellog_entry_t *new_travellog;
- new_travellog = heap_realloc(This->travellog.log, This->travellog.size*2*sizeof(*This->travellog.log)); + new_travellog = heap_realloc_zero(This->travellog.log, This->travellog.size*2*sizeof(*This->travellog.log)); if(!new_travellog) return;
diff --git a/dlls/ieframe/ieframe.h b/dlls/ieframe/ieframe.h index 633906a70ca..1bae1f6781d 100644 --- a/dlls/ieframe/ieframe.h +++ b/dlls/ieframe/ieframe.h @@ -340,6 +340,11 @@ static inline void unlock_module(void) { InterlockedDecrement(&module_ref); }
+static inline void * __WINE_ALLOC_SIZE(2) heap_realloc_zero(void *mem, SIZE_T len) +{ + return HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, mem, len); +} + static inline LPWSTR heap_strdupW(LPCWSTR str) { LPWSTR ret = NULL;