Aric Stewart : usp10: Limit runs in ScriptStringAnalyse to 255.
Alexandre Julliard
julliard at winehq.org
Mon Jan 30 14:05:57 CST 2012
Module: wine
Branch: master
Commit: f50f05da231ab5f1f463cd5ba929bb77009d1141
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f50f05da231ab5f1f463cd5ba929bb77009d1141
Author: Aric Stewart <aric at codeweavers.com>
Date: Mon Jan 30 07:30:15 2012 -0600
usp10: Limit runs in ScriptStringAnalyse to 255.
---
dlls/usp10/usp10.c | 15 ++++-----------
1 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c
index beecce9..1342303 100644
--- a/dlls/usp10/usp10.c
+++ b/dlls/usp10/usp10.c
@@ -1772,19 +1772,12 @@ HRESULT WINAPI ScriptStringAnalyse(HDC hdc, const void *pString, int cString,
hr = ScriptItemize(pString, cString, num_items, &sControl, &sState, analysis->pItem,
&analysis->numItems);
- while (hr == E_OUTOFMEMORY)
+ if FAILED(hr)
{
- SCRIPT_ITEM *tmp;
-
- num_items *= 2;
- if (!(tmp = heap_realloc_zero(analysis->pItem, num_items * sizeof(SCRIPT_ITEM) + 1)))
- goto error;
-
- analysis->pItem = tmp;
- hr = ScriptItemize(pString, cString, num_items, psControl, psState, analysis->pItem,
- &analysis->numItems);
+ if (hr == E_OUTOFMEMORY)
+ hr = E_INVALIDARG;
+ goto error;
}
- if (hr != S_OK) goto error;
/* set back to out of memory for default goto error behaviour */
hr = E_OUTOFMEMORY;
More information about the wine-cvs
mailing list