[PATCH] ntdll: Handle RtlReAllocateHeap failure in com_class_add_progid (Coverity).
Signed-off-by: Thomas Faber <thomas.faber(a)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; -- 2.15.1
participants (1)
-
Thomas Faber