Why is FxCop warning about an overflow (CA2233) in this C# code?
Posted
by matt
on Stack Overflow
See other posts from Stack Overflow
or by matt
Published on 2010-04-15T01:34:15Z
Indexed on
2010/04/15
1:43 UTC
Read the original article
Hit count: 454
I have the following function to get an int from a high-byte and a low-byte:
public static int FromBytes(byte high, byte low)
{
return high * (byte.MaxValue + 1) + low;
}
When I analyze the assembly with FxCop, I get the following critical warning:
CA2233: OperationsShouldNotOverflow
Arithmetic operations should not be done without first validating the operands to prevent overflow.
I can't see how this could possibly overflow, so I am just assuming FxCop is being overzealous.
Am I missing something? And what steps could be taken to correct what I have (or at least make the FxCop warning go away!)?
© Stack Overflow or respective owner