Files
codeql/cpp/ql/src/Security/CWE/CWE-764/TwiceLockedGood.cpp
2018-08-02 17:53:23 +01:00

15 lines
259 B
C++

class C {
std::mutex mutex;
int f_impl(int n) {
return (n == 0) ? 1 : n*f_impl(n-1);
}
public:
// GOOD: recursion is delegated to f_impl.
int f(int n) {
mutex.lock();
int result = f_impl(n);
mutex.unlock();
return result;
}
};