From 3ad900b84497a2e619c30f76670e4757e8765f3e Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Sun, 4 May 2014 12:14:58 +0200 Subject: libports: unlock _ports_lock on malloc failure * libports/bucket-iterate.c (_ports_bucket_class_iterate): Unlock _ports_lock on malloc failure. --- libports/bucket-iterate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libports/bucket-iterate.c') diff --git a/libports/bucket-iterate.c b/libports/bucket-iterate.c index 498cf133..babc2045 100644 --- a/libports/bucket-iterate.c +++ b/libports/bucket-iterate.c @@ -46,7 +46,10 @@ _ports_bucket_class_iterate (struct port_bucket *bucket, nr_items = bucket->htable.nr_items; p = malloc (nr_items * sizeof *p); if (p == NULL) - return ENOMEM; + { + pthread_mutex_unlock (&_ports_lock); + return ENOMEM; + } n = 0; HURD_IHASH_ITERATE (&bucket->htable, arg) -- cgit v1.2.3