Module: xenomai-3 Branch: stable-3.0.x Commit: 6d71a43e3c2bd2ceed83d001ede064a5c2908098 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6d71a43e3c2bd2ceed83d001ede064a5c2908098
Author: Jan Kiszka <[email protected]> Date: Thu May 24 19:44:00 2018 +0200 cobalt/posix/sem: Fix semaphore leak on failing xnmalloc Properly destroy the semaphore in case we cannot allocate a cobalt_named_sem struct. Signed-off-by: Jan Kiszka <[email protected]> --- kernel/cobalt/posix/nsem.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/cobalt/posix/nsem.c b/kernel/cobalt/posix/nsem.c index 0cc6860..bf2157d 100644 --- a/kernel/cobalt/posix/nsem.c +++ b/kernel/cobalt/posix/nsem.c @@ -125,8 +125,10 @@ sem_open(struct cobalt_process *process, } u = xnmalloc(sizeof(*u)); - if (u == NULL) + if (u == NULL) { + __cobalt_sem_destroy(handle); return ERR_PTR(-ENOMEM); + } u->sem = sem; u->usem = ushadow; _______________________________________________ Xenomai-git mailing list [email protected] https://xenomai.org/mailman/listinfo/xenomai-git
