JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
C#


CSHARP.STRUCT.BW.ORC : Bitwise OR on Boolean Constant (C#)

Summary

An | operation operates on a Boolean constant.

C# has a bitwise and a logical-AND operation on Booleans, that is, & and &&. Similarly, C# has a bitwise and a logical-OR operation | and ||. The difference is that the logical operations have a short circuit semantics, that is, if the evaluation of the left-hand side is enough to determine the outcome of the operation, then the right-hand side is not evaluated; the bitwise operations, instead, evaluate both sides, always, which might be incorrect is most cases, or at least inefficient.

Properties

Class Name Bitwise OR on Boolean Constant (C#)
Significance reliability
Mnemonic CSHARP.STRUCT.BW.ORC
Categories
CWE CWE:480 Use of Incorrect Operator
Availability Available for C# only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Bitwise OR on Boolean Constant (C#)"

Resolution

Use the logical (short-circuit) version of the operators on Booleans.

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.

 

To report problems with this documentation, please visit https://support.codesecure.com/.