From a75c90b58ae3e11e5e02549d1c7aba752e0eefd7 Mon Sep 17 00:00:00 2001
From: Puck Meerburg <puck@puckipedia.nl>
Date: Tue, 24 Dec 2013 11:08:00 +0000
Subject: [PATCH] Fix Coverity bug 605892: Resource leak
---
src/system/kernel/posix/xsi_semaphore.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/system/kernel/posix/xsi_semaphore.cpp b/src/system/kernel/posix/xsi_semaphore.cpp
index 212ee1b..4dbbca9 100644
a
|
b
|
_user_xsi_semop(int semaphoreID, struct sembuf *ops, size_t numOps)
|
1162 | 1162 | if (operation != 0) |
1163 | 1163 | semaphore->Revert(operation); |
1164 | 1164 | } |
1165 | | if (result != 0) |
| 1165 | if (result != 0) { |
| 1166 | free(operations); |
1166 | 1167 | return result; |
| 1168 | } |
1167 | 1169 | |
1168 | 1170 | // We have to wait: first enqueue the thread |
1169 | 1171 | // in the appropriate set waiting list, then |
… |
… |
_user_xsi_semop(int semaphoreID, struct sembuf *ops, size_t numOps)
|
1250 | 1252 | semaphore->SetPid(getpid()); |
1251 | 1253 | } |
1252 | 1254 | } |
| 1255 | free(operations); |
1253 | 1256 | return result; |
1254 | 1257 | } |