Module: xenomai-forge
Branch: master
Commit: 8be40f01124e96017be79a4c014c79a523fd40ee
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=8be40f01124e96017be79a4c014c79a523fd40ee

Author: Philippe Gerum <r...@xenomai.org>
Date:   Sat Nov 12 14:58:28 2011 +0100

alchemy/sem: no memory trashing upon deletion race

---

 lib/alchemy/sem.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/lib/alchemy/sem.c b/lib/alchemy/sem.c
index 67abf69..75ac7a2 100644
--- a/lib/alchemy/sem.c
+++ b/lib/alchemy/sem.c
@@ -132,9 +132,12 @@ int rt_sem_delete(RT_SEM *sem)
        if (scb == NULL)
                goto out;
 
+       ret = semobj_destroy(&scb->smobj);
+       if (ret)
+               goto out;
+
        syncluster_delobj(&alchemy_sem_table, &scb->cobj);
        scb->magic = ~sem_magic; /* Prevent further reference. */
-       semobj_destroy(&scb->smobj);
 out:
        COPPERPLATE_UNPROTECT(svc);
 


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to