diff options
| author | Mate Szalay-Beko <szalay.beko.mate@gmail.com> | 2020-02-27 14:22:06 +0100 |
|---|---|---|
| committer | Norbert Kalmar <nkalmar@apache.org> | 2020-02-27 14:22:06 +0100 |
| commit | 4b45ff1bda65b27d2771322d4613fccfb8a726b0 (patch) | |
| tree | ca17e19cf0bc664fb544e0eb65cfb21e1b606972 /zookeeper-client | |
| parent | db87335fd2593cacc49bc23c1b9065256d0d3d36 (diff) | |
| download | zookeeper-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.c | 2 |
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; |
