[vlc-devel] [PATCH] picture_pool: fix refcount leak if pic_lock fails.
Thomas Guillem
thomas at gllm.fr
Fri Oct 31 17:30:39 CET 2014
---
src/misc/picture_pool.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/misc/picture_pool.c b/src/misc/picture_pool.c
index 2a0f677..5d54301 100644
--- a/src/misc/picture_pool.c
+++ b/src/misc/picture_pool.c
@@ -277,8 +277,10 @@ picture_t *picture_pool_Get(picture_pool_t *pool)
if (!atomic_compare_exchange_strong(&picture->gc.refcount, &refs, 1))
continue;
- if (pool->pic_lock != NULL && pool->pic_lock(picture) != 0)
+ if (pool->pic_lock != NULL && pool->pic_lock(picture) != 0) {
+ atomic_store(&picture->gc.refcount, 0);
continue;
+ }
/* */
picture->p_next = NULL;
--
2.1.0
More information about the vlc-devel
mailing list