Access of forwarded variable
C and C++ are really performant languages and can be very error-prone. We all had core dumps and made pointer arithmetic errors! Thankfully, Codiga has hundreds of static analysis rules to flag potential errors in your C/C++ code, automate code reviews and merge with confidence.
Access of forwarded variable
Array accessed out of bounds
Boolean value assigned to floating point variable.
Address of local auto-variable assigned to a function parameter.
Deallocation of an global variable results in undefined behaviour.
Buffer is accessed out of bounds: Ltrans[temp].addr
Returning an address value in a function with integer return type is not portable.
Char literal compared with pointer.
Subtracting pointers that point to different objects
Access container out of bounds
Out of bounds access of variable
Detect array access out of bounds
Null pointer dereference: base
Pointer arithmetic overflow
Using argument that is uninitialized
Non-local variable use pointer to local variable
Using object to temporary.
Using reference to dangling temporary.
Returning/dereferencing value after it is deallocated / released
Dereferencing variable after it is deallocated / released
Memory freed twice
Float conversation overflow
Calling 'erase' while iterating the container is invalid.
Invalid function argument
Invalid string argument
Invalid use of scope/variable lifetime
Invalid formatter for int
Invalid formatter for signed int
Invalid formatter for string
Invalid scanf for float
Invalid scanf for string
scanf call overwrite the memory allocated for the string
Same iterator is used with different scopes
The lock is ineffective because the mutex is locked at the same scope as the mutex itself.
Memory leak: table.array
Common realloc mistake: value nulled but not freed upon failure
Using memset() on union which contains a floating point number.
Modulo of one is always equal to zero
Negative container index
Possible null pointer dereference
Overflow in pointer arithmetic
No 'return' statement in non-void function causes undefined behavior.
Converting pointer arithmetic result to bool. The bool is always true unless there is undefined behaviour.
A pointer can not be negative so it is either pointless or an error to check if it is.
Read operation on a file that was opened only for writing.
Redundant checking of STL container element existence before removing it.
Returning pointer to local variable that will be invalid when returning.
Non-boolean value returned from function returning bool
Reference to local variable returned.
Shifting by a negative value is undefined behaviour
Shifting 64-bit value by 64 bits is undefined behaviour.
Shifting signed 32-bit value by 31 bits is implementation-defined behaviour.
Suspicious usage of 'sizeof' with a numeric constant as parameter.
Undefined behavior: Variable is used as parameter and destination in sprintf().
Dangerous usage of c_str(). The value returned by c_str() is invalid after this call.
Missing bounds check for extra iterator increment in loop.
Out of bounds acess to a container
Unusual pointer arithmetic.
Suspicious pointer subtraction.
Exception thrown in function declared not to throw exceptions.
int result is assigned to long variable. If the variable is long to avoid loss of information
Used file that is not opened.
va\_list 'argument\_list' was opened but not closed by va\_end().
va\_list 'cpy' used before va\_start() was called.
va\_start() or va\_copy() called subsequently on 'argptr' without va\_end() in between.
mismatch printf parameters
Division by zero.
Either the condition is redundant or there is division by zero
Member variable not initialized in constructor
Missing return statement
Overlapping read/write of union is undefined behavior
Iterators of different containers are used together.