From 13482e726fd148eaa58eb95e358e13e390d63148 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Thu, 3 Jun 2021 16:23:17 -0500 Subject: Require children of thmutil Billboard elements to be BillboardPanel. --- src/libs/dutil/WixToolset.DUtil/memutil.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/libs/dutil/WixToolset.DUtil/memutil.cpp') diff --git a/src/libs/dutil/WixToolset.DUtil/memutil.cpp b/src/libs/dutil/WixToolset.DUtil/memutil.cpp index c805a9c0..977c189e 100644 --- a/src/libs/dutil/WixToolset.DUtil/memutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/memutil.cpp @@ -214,6 +214,27 @@ LExit: } +extern "C" HRESULT DAPI MemEnsureArraySizeForNewItems( + __inout LPVOID* ppvArray, + __in DWORD cArray, + __in DWORD cNewItems, + __in SIZE_T cbArrayType, + __in DWORD dwGrowthCount + ) +{ + HRESULT hr = S_OK; + DWORD cNew = 0; + + hr = ::DWordAdd(cArray, cNewItems, &cNew); + MemExitOnFailure(hr, "Integer overflow when calculating new element count."); + + hr = MemEnsureArraySize(ppvArray, cNew, cbArrayType, dwGrowthCount); + +LExit: + return hr; +} + + extern "C" HRESULT DAPI MemInsertIntoArray( __deref_inout_bcount((cExistingArray + cInsertItems) * cbArrayType) LPVOID* ppvArray, __in DWORD dwInsertIndex, @@ -232,7 +253,7 @@ extern "C" HRESULT DAPI MemInsertIntoArray( ExitFunction1(hr = S_OK); } - hr = MemEnsureArraySize(ppvArray, cExistingArray + cInsertItems, cbArrayType, dwGrowthCount); + hr = MemEnsureArraySizeForNewItems(ppvArray, cExistingArray, cInsertItems, cbArrayType, dwGrowthCount); MemExitOnFailure(hr, "Failed to resize array while inserting items"); pbArray = reinterpret_cast(*ppvArray); -- cgit v1.2.3-55-g6feb