C and C++


CONCURRENCY.LOCK.UNKNOWN : Unknown Lock

Summary

An attempt to acquire a lock using a handle that is not known to correspond to a valid lock.

Properties

Class Name Unknown Lock
Significance reliability
Mnemonic CONCURRENCY.LOCK.UNKNOWN
Categories
CWE CWE:413 Improper Resource Locking
JPL JPL:9 Place restrictions on the use of semaphores and locks.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Unknown Lock"

Example

#include <pthread.h>

pthread_mutex_t *undefined_get_mutex();

int concurrency_lock_unknown(){
    return pthread_mutex_lock( NULL ); /* 'Unknown Lock' warning issued here */
}

Triggering Functions

Warnings can be triggered by the following functions.

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.