...
Noncompliant Code Example
This noncompliant code example can result in a divide-by-zero error during the division of the signed operands s_a
and s_b
.
Furthermore, this code allows overflow to occur in the division operation; see INT32-C. Ensure that operations on signed integers do not result in overflow for more information.
Code Block | ||||
---|---|---|---|---|
| ||||
#include <limits.h>
void func(signed long s_a, signed long s_b) {
signed long result;
result = s_a / s_b;
/* ... */
} |
Noncompliant Code Example
This noncompliant code example can result in a divide-by-zero error during the division of the signed operands s_a
and s_b.
Code Block | ||||
---|---|---|---|---|
| ||||
#include <limits.h> void func(signed long s_a, signed long s_b) { signed long result; if ((s_a == LONG_MIN) && (s_b == -1)) { /* Handle error */ } else { result = s_a / s_b; } /* ... */ } |
...
The remainder operator provides the remainder when two operands of integer type are divided.
Noncompliant Code Example
This noncompliant code example can result in a divide-by-zero error during the modulo operation on the signed operands s_a
and s_b
.
...