Versions Compared

Key

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

...

Non-Compliant Code Example

Code Block

int account_balance;

void debit(int amount)
{
  account_balance \-= amount;
}

void credit(int amount)
{
  account_balance \+= amount;
}

Compliant Solution

Code Block

 
int account_balance;
mutex_t account_lock;

void debit(int amount)
{
  mutex_lock(&account_lock);
  account_balance \-= amount;
  mutex_unlock(&account_lock);
}

void credit(int amount)
{
  mutex_lock(&account_lock);
  account_balance \+= amount;
  mutex_unlock(&account_lock);
}

Risk Assessment

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

MSC06-A

1 (low)

1 (unlikely)

1 (high)

P1

L3

...