[Xenomai-git] Philippe Gerum : alchemy/mutex: create: detect invalid caller earlier

2017-07-27 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: ed5025ddb8cc536be814b7851ff6d4e5aa90d398
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ed5025ddb8cc536be814b7851ff6d4e5aa90d398

Author: Philippe Gerum 
Date:   Tue Jul 25 11:39:09 2017 +0200

alchemy/mutex: create: detect invalid caller earlier

---

 lib/alchemy/mutex.c |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/alchemy/mutex.c b/lib/alchemy/mutex.c
index 3aa55dd..99ba8c6 100644
--- a/lib/alchemy/mutex.c
+++ b/lib/alchemy/mutex.c
@@ -108,7 +108,7 @@ int rt_mutex_create(RT_MUTEX *mutex, const char *name)
struct alchemy_mutex *mcb;
pthread_mutexattr_t mattr;
struct service svc;
-   int ret = 0;
+   int ret;
 
if (threadobj_irq_p())
return -EPERM;
@@ -133,7 +133,12 @@ int rt_mutex_create(RT_MUTEX *mutex, const char *name)
pthread_mutexattr_settype(, PTHREAD_MUTEX_RECURSIVE);
/* pthread_mutexattr_setrobust_np() might not be implemented. */
pthread_mutexattr_setrobust_np(, PTHREAD_MUTEX_ROBUST_NP);
-   __RT(pthread_mutex_init(>lock, ));
+   ret = __RT(pthread_mutex_init(>lock, ));
+   if (ret) {
+   xnfree(mcb);
+   goto out;
+   }
+   
pthread_mutexattr_destroy();
 
mcb->magic = mutex_magic;


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : alchemy/mutex: create: detect invalid caller earlier

2017-07-26 Thread git repository hosting
Module: xenomai-3
Branch: stable-3.0.x
Commit: ed5025ddb8cc536be814b7851ff6d4e5aa90d398
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ed5025ddb8cc536be814b7851ff6d4e5aa90d398

Author: Philippe Gerum 
Date:   Tue Jul 25 11:39:09 2017 +0200

alchemy/mutex: create: detect invalid caller earlier

---

 lib/alchemy/mutex.c |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/alchemy/mutex.c b/lib/alchemy/mutex.c
index 3aa55dd..99ba8c6 100644
--- a/lib/alchemy/mutex.c
+++ b/lib/alchemy/mutex.c
@@ -108,7 +108,7 @@ int rt_mutex_create(RT_MUTEX *mutex, const char *name)
struct alchemy_mutex *mcb;
pthread_mutexattr_t mattr;
struct service svc;
-   int ret = 0;
+   int ret;
 
if (threadobj_irq_p())
return -EPERM;
@@ -133,7 +133,12 @@ int rt_mutex_create(RT_MUTEX *mutex, const char *name)
pthread_mutexattr_settype(, PTHREAD_MUTEX_RECURSIVE);
/* pthread_mutexattr_setrobust_np() might not be implemented. */
pthread_mutexattr_setrobust_np(, PTHREAD_MUTEX_ROBUST_NP);
-   __RT(pthread_mutex_init(>lock, ));
+   ret = __RT(pthread_mutex_init(>lock, ));
+   if (ret) {
+   xnfree(mcb);
+   goto out;
+   }
+   
pthread_mutexattr_destroy();
 
mcb->magic = mutex_magic;


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai-git