From 2b2eb4121151a2e6117385f778e2cdf434d2d7ec Mon Sep 17 00:00:00 2001 From: iphydf Date: Sat, 19 Mar 2022 03:00:49 +0000 Subject: [PATCH] chore: Enable memory sanitizer build. I don't know if this will actually work, or how many of these "fixes" I need to get msan to be happy on CI. For me locally, it all works fine. On CI, for some reason it's not fine even though I run in the exact same docker image as CI. --- .circleci/config.yml | 3 +-- other/bootstrap_daemon/docker/tox-bootstrapd.sha256 | 2 +- toxcore/DHT.c | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aa0a2c39..6b390b19 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -71,8 +71,7 @@ jobs: steps: - checkout - run: rm -rf /src/workspace/c-toxcore/* && mv * /src/workspace/c-toxcore/ - # TODO(iphydf): Remove "|| true" once this works. - - run: cd /src/workspace && bazel test //c-toxcore/auto_tests:lossless_packet_test || true + - run: cd /src/workspace && bazel test //c-toxcore/auto_tests:lossless_packet_test infer: working_directory: ~/work diff --git a/other/bootstrap_daemon/docker/tox-bootstrapd.sha256 b/other/bootstrap_daemon/docker/tox-bootstrapd.sha256 index 5e0746bc..913ae88b 100644 --- a/other/bootstrap_daemon/docker/tox-bootstrapd.sha256 +++ b/other/bootstrap_daemon/docker/tox-bootstrapd.sha256 @@ -1 +1 @@ -ba9c06f1079837ac20376c25bbf1411ddb6d8f86cc5c44cf58d053969b192653 /usr/local/bin/tox-bootstrapd +73bc2fb0838ba342f92fa5e2c4a85989c61d04fd87a20db7edc300a9bb42781a /usr/local/bin/tox-bootstrapd diff --git a/toxcore/DHT.c b/toxcore/DHT.c index 77a20323..06c1663f 100644 --- a/toxcore/DHT.c +++ b/toxcore/DHT.c @@ -351,9 +351,9 @@ int create_request(const uint8_t *send_public_key, const uint8_t *send_secret_ke uint8_t *const nonce = packet + 1 + CRYPTO_PUBLIC_KEY_SIZE * 2; random_nonce(nonce); - uint8_t temp[MAX_CRYPTO_REQUEST_SIZE]; - memcpy(temp + 1, data, data_length); + uint8_t temp[MAX_CRYPTO_REQUEST_SIZE] = {0}; temp[0] = request_id; + memcpy(temp + 1, data, data_length); const int len = encrypt_data(recv_public_key, send_secret_key, nonce, temp, data_length + 1, packet + CRYPTO_SIZE);