push
github
FFI: Fix various issues in recff_cdata_arith. Thanks to Sergey Kaplun. (cherry picked from commit 7a608e442) The aforementioned function doesn't handle gentle recording of the cdata addition to `nil` or some string, presuming that the interpreter will throw an error. This may lead to an assertion due to an uninitialized ctype state or an attempt to use in the fold engine the non-cdata summand (casted to `IR_KPTR`) as the (invalid) GC pointer. This patch handles such cases by: * Initializing the ctype state where it is needed. * Raising an error when the argument has a suspicious type. Since the interpreter will throw the error anyway, these traces will abort anyway. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#10199
5676 of 6026 branches covered (94.19%)
Branch coverage included in aggregate %.
5 of 6 new or added lines in 1 file covered. (83.33%)
17 existing lines in 4 files now uncovered.21645 of 23433 relevant lines covered (92.37%)
2942819.62 hits per line