Ticket #10341: 605892.patch

File 605892.patch, 1.0 KB (added by puckipedia, 10 years ago)

Fix for Coverity CID 605892

  • src/system/kernel/posix/xsi_semaphore.cpp

    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)  
    11621162                if (operation != 0)
    11631163                    semaphore->Revert(operation);
    11641164            }
    1165             if (result != 0)
     1165            if (result != 0) {
     1166                free(operations);
    11661167                return result;
     1168            }
    11671169
    11681170            // We have to wait: first enqueue the thread
    11691171            // in the appropriate set waiting list, then
    _user_xsi_semop(int semaphoreID, struct sembuf *ops, size_t numOps)  
    12501252            semaphore->SetPid(getpid());
    12511253        }
    12521254    }
     1255    free(operations);
    12531256    return result;
    12541257}