Module: xenomai-2.6
Branch: master
Commit: 1d3b76a653f8d63a169c0ceb8c60845310b012f8
URL:    
http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=1d3b76a653f8d63a169c0ceb8c60845310b012f8

Author: Kai <mli...@bollue.de>
Date:   Fri Jul 13 22:32:55 2012 +0200

native/queue: fix memory leak upon failed write

---

 ksrc/skins/native/syscall.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ksrc/skins/native/syscall.c b/ksrc/skins/native/syscall.c
index 39204b4..84f5ff0 100644
--- a/ksrc/skins/native/syscall.c
+++ b/ksrc/skins/native/syscall.c
@@ -2356,8 +2356,8 @@ static int __rt_queue_write(struct pt_regs *regs)
        }
 
        ret = rt_queue_send(q, mbuf, size, mode);
-       if (ret == 0 && (mode & Q_BROADCAST))
-               rt_queue_free(q, mbuf); /* Nobody received, free the buffer. */
+       if (ret < 0 || (ret == 0 && (mode & Q_BROADCAST)))
+               rt_queue_free(q, mbuf);
 
        return ret;
 }


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to