[Tarantool-patches] [PATCH v6 1/2] base64: fix decoder output buffer overrun (reads)

Sergey Nikiforov void at tarantool.org
Tue Jan 26 19:48:48 MSK 2021


On 26.01.2021 19:37, Sergey Nikiforov wrote:
> On 21.01.2021 5:16, Alexander Turenko wrote:
>> On Mon, Jan 11, 2021 at 12:45:00PM +0300, Sergey Nikiforov wrote:
>>> Was caught by base64 test with enabled ASAN.
>>
>> It seems, we have a problem in CI, otherwise it would be detected. At
>> least, I don't see an explicit suppression relevant to the base64 code
>> or disabling the test under this CI job.
>>
>> Can you, please, investigate, how to enable it in CI, so we'll catch the
>> similar problem next time if it'll appear?
> 
> ASAN is not used in CI now. Which is clearly wrong.
> Right now a lot of tests fail if LeakSanitizer is enabled (the default 
> for ASAN), but only 1 test (unit/guard.test) fails if LeakSanitizer if 
> disabled. So it is quite straightforward:
> 
> CC=clang CXX=clang++ cmake . -DENABLE_ASAN=ON && make -j
> ASAN_OPTIONS=detect_leaks=0 test/test-run.py
> 
> (test-run.py is launched from several Makefiles)
> 
> I propose creating tasks to make unit/guard.test "ASAN-tolerant" (ASAN 
> prints warning which causes .result mismatch) and to add ASAN targets to 
> CI. Should it be GitLab or GitHub Actions?
> 
> We should probably also look on LeakSanitizer issues, some of them are 
> probably real bugs and not just tests sloppiness.

ASAN with LeakSanitizer enabled (the default):
Statistics:
* disabled: 127
* fail: 755
* pass: 414

Fixing this is a BIG task.


More information about the Tarantool-patches mailing list