C++ API: Fix OOB read in unit test (#2774)
authorAndres Noetzli <andres.noetzli@gmail.com>
Fri, 4 Jan 2019 21:26:08 +0000 (13:26 -0800)
committerAina Niemetz <aina.niemetz@gmail.com>
Fri, 4 Jan 2019 21:26:08 +0000 (13:26 -0800)
commit7684686a1f75a90a3754bacc82ee50fb7b20d7c9
tree0f9770160fa3d6e062176dd420762f9a94f7adc5
parent491a7c8d1889dfb848de31d5581d0c784167eaec
C++ API: Fix OOB read in unit test (#2774)

There were two typos in the unit tests that caused OOB accesses. Instead
of doing `d_solver.mkConst(CONST_BITVECTOR, std::string("101"), 6)`, the
closing parenthesis was in the wrong place resulting in
`std::string("101", 6)`. The second argument to `std::string(const
char*, size_t)` says how many characters to copy and results in
undefined behavior if the number is greater than the length of the
string, thus the OOB access. The commit fixes the typo and removes one
of the tests because it should not actually fail (16 is an accepted
base).
test/unit/api/solver_black.h