From: kubistika Date: Thu, 11 Jul 2019 19:13:19 +0000 (+0300) Subject: winpr: ObjectPool_Return: fix error handling X-Git-Tag: 2.0.0~428 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=da19457fcaa2f17539c02a51628f59e2dbcb6594;p=platform%2Fupstream%2Ffreerdp.git winpr: ObjectPool_Return: fix error handling --- diff --git a/winpr/libwinpr/utils/collections/ObjectPool.c b/winpr/libwinpr/utils/collections/ObjectPool.c index 1a4ca05..f31f17d 100644 --- a/winpr/libwinpr/utils/collections/ObjectPool.c +++ b/winpr/libwinpr/utils/collections/ObjectPool.c @@ -80,7 +80,8 @@ void ObjectPool_Return(wObjectPool* pool, void* obj) new_cap = pool->capacity * 2; new_arr = (void**) realloc(pool->array, sizeof(void*) * new_cap); if (!new_arr) - return; + goto out; + pool->array = new_arr; pool->capacity = new_cap; } @@ -90,6 +91,7 @@ void ObjectPool_Return(wObjectPool* pool, void* obj) if (pool->object.fnObjectUninit) pool->object.fnObjectUninit(obj); +out: if (pool->synchronized) LeaveCriticalSection(&pool->lock); }