summaryrefslogtreecommitdiff
path: root/zookeeper-client
diff options
context:
space:
mode:
authorMate Szalay-Beko <szalay.beko.mate@gmail.com>2020-02-27 14:22:06 +0100
committerNorbert Kalmar <nkalmar@apache.org>2020-02-27 14:22:06 +0100
commit4b45ff1bda65b27d2771322d4613fccfb8a726b0 (patch)
treeca17e19cf0bc664fb544e0eb65cfb21e1b606972 /zookeeper-client
parentdb87335fd2593cacc49bc23c1b9065256d0d3d36 (diff)
downloadzookeeper-4b45ff1bda65b27d2771322d4613fccfb8a726b0.tar.gz
ZOOKEEPER-3741: fix buffer length in C client causing warning with new gcc
We get 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. Author: Mate Szalay-Beko <szalay.beko.mate@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Norbert Kalmar <nkalmar@apache.org> Closes #1273 from symat/ZOOKEEPER-3741
Diffstat (limited to 'zookeeper-client')
-rw-r--r--zookeeper-client/zookeeper-client-c/src/zookeeper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/zookeeper-client/zookeeper-client-c/src/zookeeper.c b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
index 5f3cb5da1..0c143e7bb 100644
--- a/zookeeper-client/zookeeper-client-c/src/zookeeper.c
+++ b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
@@ -4956,7 +4956,7 @@ int zoo_add_auth(zhandle_t *zh,const char* scheme,const char* cert,
static const char* format_endpoint_info(const struct sockaddr_storage* ep)
{
- static char buf[128] = { 0 };
+ static char buf[134] = { 0 };
char addrstr[INET6_ADDRSTRLEN] = { 0 };
const char *fmtstring;
void *inaddr;