Previous commit 8a6767d26 ("BUG/MINOR: config: don't count trailing spaces as empty arg (v2)") was still not enough. As reported by ClusterFuzz in issue 52049 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52049), there remains a case where for the sake of reporting the correct argument count, the function may produce virtual args that span beyond the end of the output buffer if that one is too short. That's what's happening with a config file of one empty line followed by a large number of args. This means that what args[] points to cannot be relied on and that a different approach is needed. Since no output is produced for spaces and comments, we know that args[arg] continues to point to out+outpos as long as only comments or spaces are found, which is what we're interested in. As such it's safe to check the last arg's pointer against the one before the trailing zero was emitted, in order to decide to count one final arg. No backport is needed, unless the commit above is backported. (cherry picked from commit 94ab139266a2d2d39f7254644f69fb699559e8e2) Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)
Description
Languages
Shell
100%