eea9bc6733d3cf0e60cff0a44c3f3ccc6b18e9c3
SWDEV-80874 - fixed out of bound access to the printf format string We do not really need two separate induction variables, pos and i, and we had a bug of not incrementing i as needed. The only reason it used to work is because all strings we used for testing ended with '\n'. The bug resulted in ignoring this '\n', but the code unconditionally adds '\n', so nobody noticed. If you try to print anything having any other escape, '\n' not at the end, or a colon, there will be assertion. That is fixed, and newline now is only added if last symbol in user's format was not newline, because otherwise we would now print 2 new lines. NB, I prefer to use bool variable rather then addressing last symbol of the string which could be empty. A side node, why do we run flex scanner past the last colon? If we do not we would not need this double encoding at all. Testing: smoke, precheckin, conformance printf with HSAIL forced, custom test Reviewed by German Andreev Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#309 edit
Описание
No description provided
Languages
C++
67.5%
C
20.6%
Python
6.6%
CMake
3.4%
Shell
0.6%
Разное
1.1%