Versions Compared

Key

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

...

The result of the / operator is the quotient from the division of the first arithmetic operand by the second arithmetic operand. Division operations are susceptible to divide-by-zero errors. Overflow can also occur during twos-complement signed integer division when the dividend is equal to the minimum (negative) value for the signed integer type and the divisor is equal to -1.

Non-Compliant Code Example

This code can result in a divide-by-zero error during the division of the signed operands sl1 and sl2.

Code Block

signed long sl1, sl2, result;

result = sl1 / sl2;

Compliant Solution

This compliant solution tests the suspect division operation to guarantee there is no possibility of divide-by-zero errors or signed overflow.

...

Include Page
c:INT33 NCCE Division
c:INT33 NCCE Division
Include Page
c:INT33 CS Division
c:INT33 CS Division

...

Modulo

The modulo operator provides the remainder when two operands of integer type are divided.

Non-Compliant Code Example

This code can result in a divide-by-zero error during the modulo operation on the signed operands sl1 and sl2.

Code Block

signed long sl1, sl2, result;

result = sl1 % sl2;

Compliant Solution

This compliant solution tests the suspect modulo operation to guarantee there is no possibility of a divide-by-zero error.

...

Include Page
c:INT33 NCCE Modulo
c:INT33 NCCE Modulo
Include Page
c:INT33 CS Modulo
c:INT33 CS Modulo

Priority: P4 Level: L3

Divide-by-zero errors can lead to abnormal program termination and denial-of-service attacks.

...