<div dir="ltr"><div>Here is some log output from a build which invokes ragel to generate several parsers. I've cut out (most) unimportant output.</div><div><br></div><div>The source code for the parsers: <a href="https://github.com/kurocha/async-http/tree/master/source/Async/HTTP/V1">https://github.com/kurocha/async-http/tree/master/source/Async/HTTP/V1</a></div><div><br></div>The results from running Ragel several times with LLVM sanitisers: <a href="https://gist.github.com/ioquatix/2e50ffb09697107338f8f75083400143">https://gist.github.com/ioquatix/2e50ffb09697107338f8f75083400143</a><br><div><br></div><div>The main issue I can see are memory leaks, but there could be other issues.</div><div><br></div><div>Since Ragel is a one-shot "compiler", perhaps it's not important to address these, except as a matter of correctness.<br></div><div><br></div><div>I think there are potential problem with memory leaks and they might be covering up bigger issues - there might be cases where memory is being accessed incorrectly but it's not causing a crash because it's not freed at the right point etc.</div><div><br></div><div>I'd suggest that if there is a test suite for Ragel, it's updated to run with the undefined behaviour sanitiser and address sanitiser - both provide useful output IMHO.</div><div><br></div><div>Happy to provide more feedback.</div><div><br></div><div>Kind regards,</div><div>Samuel</div><div><br></div></div>