summaryrefslogtreecommitdiff
path: root/src/closures.c
diff options
context:
space:
mode:
authorOle André Vadla Ravnås <oleavr@gmail.com>2017-03-15 01:23:40 +0100
committerOle André Vadla Ravnås <oleavr@gmail.com>2017-03-15 01:27:43 +0100
commitd42ce7b95c6d5cba7d976cc0c8c85f7645fa6b8f (patch)
treea66783c6cc8c194da1b7a3f10dbdaa4d2404088c /src/closures.c
parentdabbd145665ffca6fa676eba551f12107cd81131 (diff)
downloadlibffi-d42ce7b95c6d5cba7d976cc0c8c85f7645fa6b8f.tar.gz
Fix error path so mutex is unlocked before returning
In the unusual case where ffi_trampoline_table_alloc() fails.
Diffstat (limited to 'src/closures.c')
-rw-r--r--src/closures.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/closures.c b/src/closures.c
index 2e0ffb4..78d6aeb 100644
--- a/src/closures.c
+++ b/src/closures.c
@@ -211,6 +211,7 @@ ffi_closure_alloc (size_t size, void **code)
table = ffi_trampoline_table_alloc ();
if (table == NULL)
{
+ pthread_mutex_unlock (&ffi_trampoline_lock);
free (closure);
return NULL;
}