quartz: Rewrite add_data with CoTaskMemRealloc and error handling.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alex Henrie 2018-08-14 09:25:10 -06:00 committed by Alexandre Julliard
parent 32169eafe2
commit 24703e4cd6
1 changed files with 5 additions and 5 deletions

View File

@ -145,11 +145,11 @@ static int add_data(struct Vector * v, const BYTE * pData, int size)
int index = v->current;
if (v->current + size > v->capacity)
{
LPBYTE pOldData = v->pData;
v->capacity = (v->capacity + size) * 2;
v->pData = CoTaskMemAlloc(v->capacity);
memcpy(v->pData, pOldData, v->current);
CoTaskMemFree(pOldData);
int new_capacity = (v->capacity + size) * 2;
BYTE *new_data = CoTaskMemRealloc(v->pData, new_capacity);
if (!new_data) return -1;
v->capacity = new_capacity;
v->pData = new_data;
}
memcpy(v->pData + v->current, pData, size);
v->current += size;