diff options
author | iphydf <iphydf@users.noreply.github.com> | 2018-01-10 13:27:45 +0000 |
---|---|---|
committer | iphydf <iphydf@users.noreply.github.com> | 2018-01-10 18:57:25 +0000 |
commit | 2e33ab26df4356c40a4c9b636f99a7bfbdc7838c (patch) | |
tree | 70306fa1aed59c59eeef194cc1a64139a6b9df6b /testing | |
parent | 79d8a22b4811083daf0a65fc94939b47c47997b7 (diff) |
Zero-initialise stack-allocated objects in hstox driver.
These potentially cause uninitialised reads on some platforms or msgpack
library versions.
Diffstat (limited to 'testing')
-rw-r--r-- | testing/hstox/driver.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/testing/hstox/driver.c b/testing/hstox/driver.c index 33823277..add43901 100644 --- a/testing/hstox/driver.c +++ b/testing/hstox/driver.c | |||
@@ -80,7 +80,7 @@ static int write_sample_input(msgpack_object req) | |||
80 | 80 | ||
81 | check_return(E_WRITE, ftruncate(fd, 0)); | 81 | check_return(E_WRITE, ftruncate(fd, 0)); |
82 | 82 | ||
83 | msgpack_sbuffer sbuf __attribute__((__cleanup__(msgpack_sbuffer_destroy))); | 83 | msgpack_sbuffer sbuf __attribute__((__cleanup__(msgpack_sbuffer_destroy))) = {0}; |
84 | msgpack_sbuffer_init(&sbuf); | 84 | msgpack_sbuffer_init(&sbuf); |
85 | 85 | ||
86 | msgpack_packer pk; | 86 | msgpack_packer pk; |
@@ -101,7 +101,7 @@ static int handle_request(struct settings cfg, int write_fd, msgpack_object req) | |||
101 | fprintf(stderr, "\n"); | 101 | fprintf(stderr, "\n"); |
102 | } | 102 | } |
103 | 103 | ||
104 | msgpack_sbuffer sbuf __attribute__((__cleanup__(msgpack_sbuffer_destroy))); /* buffer */ | 104 | msgpack_sbuffer sbuf __attribute__((__cleanup__(msgpack_sbuffer_destroy))) = {0}; /* buffer */ |
105 | msgpack_sbuffer_init(&sbuf); /* initialize buffer */ | 105 | msgpack_sbuffer_init(&sbuf); /* initialize buffer */ |
106 | 106 | ||
107 | msgpack_packer pk; /* packer */ | 107 | msgpack_packer pk; /* packer */ |
@@ -186,7 +186,7 @@ int communicate(struct settings cfg, int read_fd, int write_fd) | |||
186 | memcpy(msgpack_unpacker_buffer(&unp), buf, size); | 186 | memcpy(msgpack_unpacker_buffer(&unp), buf, size); |
187 | msgpack_unpacker_buffer_consumed(&unp, size); | 187 | msgpack_unpacker_buffer_consumed(&unp, size); |
188 | 188 | ||
189 | msgpack_unpacked req __attribute__((__cleanup__(msgpack_unpacked_destroy))); | 189 | msgpack_unpacked req __attribute__((__cleanup__(msgpack_unpacked_destroy))) = {0}; |
190 | msgpack_unpacked_init(&req); | 190 | msgpack_unpacked_init(&req); |
191 | 191 | ||
192 | switch (msgpack_unpacker_next(&unp, &req)) { | 192 | switch (msgpack_unpacker_next(&unp, &req)) { |
@@ -225,7 +225,7 @@ static int run_tests(struct settings cfg, int port) | |||
225 | 1 | 225 | 1 |
226 | }, sizeof(int))); | 226 | }, sizeof(int))); |
227 | 227 | ||
228 | struct sockaddr_in servaddr; | 228 | struct sockaddr_in servaddr = {0}; |
229 | servaddr.sin_family = AF_INET; | 229 | servaddr.sin_family = AF_INET; |
230 | servaddr.sin_addr.s_addr = htons(INADDR_ANY); | 230 | servaddr.sin_addr.s_addr = htons(INADDR_ANY); |
231 | servaddr.sin_port = htons(port); | 231 | servaddr.sin_port = htons(port); |