From 79b28fc9b294f028db7ded93ea365734c42e2c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Tue, 25 Mar 2014 19:49:35 +0000 Subject: [PATCH] [USP10]: Wine sync. SHA-1: 8fb52c7c5d711918fadf2590061d668093d14708 * usp10: Avoid non-standard array initialization. Fix this bug introduced in revision 62535. CORE-8029 #resolve #comment Fixed in revision 62563. svn path=/trunk/; revision=62563 --- reactos/dll/win32/usp10/bidi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/usp10/bidi.c b/reactos/dll/win32/usp10/bidi.c index 5ac37802b3e..8d94fd2692d 100644 --- a/reactos/dll/win32/usp10/bidi.c +++ b/reactos/dll/win32/usp10/bidi.c @@ -819,10 +819,13 @@ static void resolveResolved(unsigned baselevel, const WORD * pcls, WORD *plevel, static void computeIsolatingRunsSet(unsigned baselevel, WORD *pcls, WORD *pLevel, int uCount, struct list *set) { int run_start, run_end, i; - Run runs[uCount]; int run_count = 0; + Run *runs; IsolatedRun *current_isolated; + runs = HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(Run)); + if (!runs) return; + list_init(set); /* Build Runs */ @@ -849,6 +852,7 @@ static void computeIsolatingRunsSet(unsigned baselevel, WORD *pcls, WORD *pLevel int type_fence, real_end; int j; current_isolated = HeapAlloc(GetProcessHeap(), 0, sizeof(IsolatedRun) + sizeof(WORD*)*uCount); + if (!current_isolated) break; run_start = runs[k].start; current_isolated->e = runs[k].e; @@ -936,6 +940,8 @@ search: } i++; } + + HeapFree(GetProcessHeap(), 0, runs); } /*************************************************************