[RTL] Handle RtlReAllocateHeap failure in com_class_add_progid. CID 1223161
authorThomas Faber <thomas.faber@reactos.org>
Sat, 20 Jan 2018 08:47:24 +0000 (09:47 +0100)
committerThomas Faber <thomas.faber@reactos.org>
Sat, 20 Jan 2018 08:48:07 +0000 (09:48 +0100)
sdk/lib/rtl/actctx.c

index 4cf9bba..6ce1734 100644 (file)
@@ -1504,8 +1504,11 @@ static BOOL com_class_add_progid(const xmlstr_t *progid, struct entity *entity)
 
     if (progids->allocated == progids->num)
     {
 
     if (progids->allocated == progids->num)
     {
+        WCHAR **new_progids = RtlReAllocateHeap(RtlGetProcessHeap(), 0, progids->progids,
+                                                2 * progids->allocated * sizeof(WCHAR*));
+        if (!new_progids) return FALSE;
         progids->allocated *= 2;
         progids->allocated *= 2;
-        progids->progids = RtlReAllocateHeap(RtlGetProcessHeap(), 0, progids->progids, progids->allocated * sizeof(WCHAR*));
+        progids->progids = new_progids;
     }
 
     if (!(progids->progids[progids->num] = xmlstrdupW(progid))) return FALSE;
     }
 
     if (!(progids->progids[progids->num] = xmlstrdupW(progid))) return FALSE;