[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/5] libports: fix error handling in _ports_create_port_internal
From: |
Justus Winter |
Subject: |
[PATCH 3/5] libports: fix error handling in _ports_create_port_internal |
Date: |
Fri, 25 Oct 2013 10:30:22 +0200 |
Previously any err value set before reaching lose: was overwritten and
thus not properly propagated.
Found using the Clang Static Analyzer.
* libports/create-internal.c (_ports_create_port_internal): Fix error
handling.
---
libports/create-internal.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libports/create-internal.c b/libports/create-internal.c
index c60f6fd..ea3852d 100644
--- a/libports/create-internal.c
+++ b/libports/create-internal.c
@@ -109,10 +109,11 @@ _ports_create_port_internal (struct port_class *class,
err = EINTR;
lose:
pthread_mutex_unlock (&_ports_lock);
+ error_t e;
lose_unlocked:
- err = mach_port_mod_refs (mach_task_self (), port,
- MACH_PORT_RIGHT_RECEIVE, -1);
- assert_perror (err);
+ e = mach_port_mod_refs (mach_task_self (), port,
+ MACH_PORT_RIGHT_RECEIVE, -1);
+ assert_perror (e);
free (pi);
return err;
--
1.7.10.4
[PATCH 2/5] exec: Remove the remaining BFD related bits, Justus Winter, 2013/10/25
Re: [PATCH 1/5] Makeconf: add -fno-strict-aliasing to CFLAGS, Thomas Schwinge, 2013/10/25