Versions Compared

Key

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

...

Code Block
bgColor#CCCCFF
langc
int privileges;

if (invalid_login()) {
  if (allow_guests()) {
    privileges = GUEST;
  } 
} else {
  privileges = ADMINISTRATOR;
}

Risk Assessment

Recommendation

Severity

Likelihood

Remediation Cost

Priority

Level

EXP19-C

Medium

Probable

Medium

P8

L2

Automated Detection

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

compound-ifelse

compound-loop

Fully checked
Klocwork
Include Page
Klocwork_V
Klocwork_V
MISRA.IF.NO_COMPOUND
MISRA.STMT.NO_COMPOUND
 

LDRA tool suite
Include Page
LDRA_V
LDRA_V
11 S,  12 S, 428 SFully Implemented
Parasoft C/C++test
Include Page
c:
Parasoft_V
c: 
Parasoft_V
MISRA2004-14_8Fully implemented
PRQA QA-C

Include Page
PRQA QA-C_v
PRQA QA-C_v

2212




RuleChecker
Include Page
RuleChecker_V
RuleChecker_V

compound-ifelse

compound-loop

Fully checked
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S121

PVS-Studio6.22V563, V628, V640, V705General analysis rule set
 

Related Vulnerabilities

CVE-2014-1266 was due, in large part, to failing to follow this recommendation. There is a spurious "goto fail" statement on line 631 of sslKeyExchange.c. This "goto" gets executed unconditionally, even though it is indented as if it were part of the preceding "if" statement.  As a result, the call to sslRawVerify (which performs the actual signature verification) is rendered dead code.  [ImperialViolet 2014]. If the body of the "if" statement had been enclosed in braces, then this defect likely would not have happened.

Related Guidelines

MISRA C:2012Rule 15.6 (required)

 Bibliography

...


...