Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Mixing signals and threads causes undefined behavior 135.

Rule

Severity

Likelihood

Detectable

Remediation CostRepairable

Priority

Level

CON37-C

Low

Probable

Yes

LowNo

P6P4

L2L3

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

Automated Detection

Supported, but no explicit checker5022
ToolVersionCheckerDescription
Astrée
Include Page
Astrée_V
Astrée_V
stdlib-use-signalFully checked
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
BADFUNC.SIGNALUse of signal
Coverity
Include Page
Coverity_V
Coverity_V
MISRA C 2012 Rule 21.5Over-constraining
Cppcheck Premium

Include Page
Cppcheck Premium_V
Cppcheck Premium_V

premium-cert-con37-c
Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C5021

C++5022


Klocwork
Include Page
Klocwork_V
Klocwork_V

MISRA.STDLIB.SIGNAL


LDRA tool suite
Include Page
LDRA_V
LDRA_V
44 SEnhanced enforcement
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

CERT_C-CON37-a

The signal handling facilities of <signal.h> shall not be used
RuleCheckerPC-lint Plus

Include Page

RuleChecker

PC-lint Plus_V

RuleChecker

PC-lint Plus_V

Supported, but no explicit checkerPRQA QA-C++
Include Page
cplusplus:PRQA QA-C++_Vcplusplus:PRQA QA-C++_V

586

Fully supported

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C: Rule CON37-CChecks for signal call in multithreaded program (rule fully covered)
RuleChecker
Include Page
RuleChecker_V
RuleChecker_V
stdlib-use-signalFully checked

Bibliography

[IEEE Std 1003.1-2013]XSH 2.9.1, "Thread Safety"

...