Signed-off-by: Thomas Faber thomas.faber@reactos.org --- dlls/ntdll/actctx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index 323ee68fc09b..dc65e374b9ad 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -1444,6 +1444,7 @@ static DWORD parse_com_class_misc(const xmlstr_t *value) static BOOL com_class_add_progid(const xmlstr_t *progid, struct entity *entity) { struct progids *progids = &entity->u.comclass.progids; + WCHAR **new_progids;
if (progids->allocated == 0) { @@ -1453,8 +1454,10 @@ static BOOL com_class_add_progid(const xmlstr_t *progid, struct entity *entity)
if (progids->allocated == progids->num) { + 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;