[PATCH] ntdll: Handle RtlReAllocateHeap failure in com_class_add_progid (Coverity).

Thomas Faber thomas.faber at reactos.org
Tue Jan 16 12:19:34 CST 2018


Signed-off-by: Thomas Faber <thomas.faber at 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





More information about the wine-devel mailing list