foreman eea9bc6733 P4 to Git Change 1209566 by smekhano@stas-nova-hsa on 2015/11/10 14:25:56
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
2015-11-10 14:33:05 -05:00
S
Описание
No description provided
282 MiB
Languages
C++ 67.5%
C 20.6%
Python 6.6%
CMake 3.4%
Shell 0.6%
Разное 1.1%