diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index 323ee68fc09..b978438f6b7 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -1453,8 +1453,11 @@ static BOOL com_class_add_progid(const xmlstr_t *progid, struct entity *entity) if (progids->allocated == progids->num) { + WCHAR **new_progids = RtlReAllocateHeap(GetProcessHeap(), 0, progids->progids, + 2 * progids->allocated * sizeof(WCHAR*)); + if (!new_progids) return FALSE; progids->allocated *= 2; - progids->progids = RtlReAllocateHeap(GetProcessHeap(), 0, progids->progids, progids->allocated * sizeof(WCHAR*)); + progids->progids = new_progids; } if (!(progids->progids[progids->num] = xmlstrdupW(progid))) return FALSE;