Using new RHEL / Centos8 docker images, it was not possible to build the ZooKeeper C client for 3.5.5 and 3.5.6. The compilation error was fixed by Damien Diederen in
ZOOKEEPER-3719 for branch 3.5 and 3.5.7. But one of the errors is still present on the master branch.
We had a warning that we are trying to call like sprintf(buf,"%s:%d",addrstr,port);, and both buf and addrstr are 128 long char arrays. So in theory, we can overflow. The fix is to increase the length of the destination string array (buf).
Actually this problem only causing compile time warning / failure only on the 3.5.5 and 3.5.6. On 3.5.7 this was fixed and on 3.6+ branches the compiler can not detect the problem due to some code refactoring made by
ZOOKEEPER-3068, but the issue is still present on the master branch.