...
Code Block | ||||
---|---|---|---|---|
| ||||
pthread_mutexattr_t attr; pthread_mutex_t mutex; size_t const shared_var = 0; int main(void) { int result; if ((result = pthread_mutexattr_init(&attr)) != 0) { /* Handle Error */ } if ((result = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)) != 0) { /* Handle Error */ } if ((result = pthread_mutex_init(&mutex, &attr)) != 0) { /* Handle Error */ } if ((result = pthread_mutex_lock(&mutex)) != 0) { /* Handle Error */ } /* Critical Region*/ if ((result = pthread_mutex_unlock(&mutex)) != 0) { /* Handle Error */ } return 0; } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
pthread_mutexattr_t attr; pthread_mutex_t mutex; size_t const shared_var = 0; int main(void) { int result; if ((result = pthread_mutexattr_init(&attr)) != 0) { /* Handle Error */ } if ((result = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK)) != 0) { /* Handle Error */ } if ((result = pthread_mutex_init(&mutex, &attr)) != 0) { /* Handle Error */ } if ((result = pthread_mutex_lock(&mutex)) != 0) { /* Handle Error */ } /* Critical Region*/ if ((result = pthread_mutex_unlock(&mutex)) != 0) { /* Handle Error */ } return 0; } |
...
Using NORMAL
mutex locks can lead to deadlocks or abnormal program termination.
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
POS04-C | Low | Unlikely | Medium | P2 | L3 |
Bibliography
...
...