Re: [Mesa-dev] [PATCH 08/12] glcpp: Use strpbrk in the line continuations pass

2017-01-18 Thread Ian Romanick
On 01/07/2017 06:30 PM, Vladislav Egorov wrote: > Well, running radamsa fuzzer right now and it's able to find quite a bit > of various problems (difference in output/error reporting against > master) in the hand-written parser without any effort. Some cases should > be added to the test-suite mayb

Re: [Mesa-dev] [PATCH 08/12] glcpp: Use strpbrk in the line continuations pass

2017-01-07 Thread Vladislav Egorov
Well, running radamsa fuzzer right now and it's able to find quite a bit of various problems (difference in output/error reporting against master) in the hand-written parser without any effort. Some cases should be added to the test-suite maybe. Clearly the patch series requires more work, sad

Re: [Mesa-dev] [PATCH 08/12] glcpp: Use strpbrk in the line continuations pass

2017-01-07 Thread Vladislav Egorov
Oh. Thanks! This is embarrassing. I have no idea how did I manage to miss it. Line continuations are so rare that only two games in my shader-db use them -- Talos Principle and Serious Sam (both use Serious Engine). And neither of them hit this condition. I probably need to fuzz this thing or s

Re: [Mesa-dev] [PATCH 08/12] glcpp: Use strpbrk in the line continuations pass

2017-01-07 Thread Gustaw Smolarczyk
7 sty 2017 20:04 "Vladislav Egorov" napisaƂ(a): To find newlines the line continuations removal pass uses strchr() twice -- first time to find '\n', second time to find '\r'. Now, if the shader uses Unix line separators '\n', the file could contain no '\r' at all, so each time it will scan to the

[Mesa-dev] [PATCH 08/12] glcpp: Use strpbrk in the line continuations pass

2017-01-07 Thread Vladislav Egorov
To find newlines the line continuations removal pass uses strchr() twice -- first time to find '\n', second time to find '\r'. Now, if the shader uses Unix line separators '\n', the file could contain no '\r' at all, so each time it will scan to the end of the shader. Use strpbrk() standard functio