ArrayBoundChecker did not detect out of bounds memory access errors in case an array was allocated by the new expression.
- MallocChecker.cpp was updated to calculate the extent size in Bytes similarly how it was done for memory regions allocated by malloc. The size constraint is added for arrays and non-arrays allocated by new.
- ArrayBoundCheckerV2.cpp was updated to better handle accessing locations preceding a symbolic memory region (such as buf[-1] in test2(..) in out-of-bounds.cpp). So computeExtentBegin(..) was updated to assume that the extent of a symbolic region starts at 0 if we know the size of the extent (as is the case in case of malloc or new).
- out-of-bounds.cpp contains the relevant test cases for C++.
For ease of use, you no longer need to pass svalBuilder here - you can take it from the state->getStateManager().