From d0592a11644a9f9d1161cee3124e15c956770a41 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Tue, 24 Dec 2013 11:08:00 +0000 Subject: [PATCH] Fix Coverity bug 605892: Resource leak Signed-off-by: Jessica Hamilton --- 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 5a48f9d28d..3e311f30fb 100644 --- a/src/system/kernel/posix/xsi_semaphore.cpp +++ b/src/system/kernel/posix/xsi_semaphore.cpp @@ -1158,8 +1158,10 @@ _user_xsi_semop(int semaphoreID, struct sembuf *ops, size_t numOps) if (operation != 0) semaphore->Revert(operation); } - if (result != 0) + if (result != 0) { + free(operations); return result; + } // We have to wait: first enqueue the thread // in the appropriate set waiting list, then @@ -1246,5 +1248,6 @@ _user_xsi_semop(int semaphoreID, struct sembuf *ops, size_t numOps) semaphore->SetPid(getpid()); } } + free(operations); return result; }