Squashed 'external/toxcore/c-toxcore/' changes from da438763d5b..671b1f92332
671b1f92332 fix: toxav rtp temp buffer allocation size was too large and cast from 32bit to 16bit, causing a overflow and making the allocated size too small 258148bd4e1 chore(ci): new minimum for all android versions is 21 d369c93c489 chore: Fix Emscripten build failing with no host specified 51b24d1c239 chore: Run CompCert on the stable branch of libsodium cab1f7d522b chore: Update WineHQ's apt key hash 102a1fa9b82 chore: Fix -Werror=maybe-uninitialized in a test cc9515da9c7 chore: Fix cpplint failing to install 3485b5feef3 chore: Disable -Wswitch-default and -Wunsafe-buffer-usage 719041e04b6 chore: Fix Circle CI failing on a missing clang lib 5344d7f84d0 fix: Memory leak in the bootstrap daemon fa201681e18 cleanup: Remove useless if clause 7572888a218 chore: Fix GitHub actions deprecation warnings git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 671b1f92332a8314dccf76d5df93c0b6c1230636
This commit is contained in:
parent
47ad96e2b6
commit
fd4c16d090
@ -62,7 +62,7 @@ jobs:
|
||||
- run: &apt_install
|
||||
apt-get update &&
|
||||
DEBIAN_FRONTEND=noninteractive
|
||||
apt-get install -y --no-install-recommends
|
||||
apt-get install -y
|
||||
ca-certificates
|
||||
clang
|
||||
cmake
|
||||
@ -141,9 +141,7 @@ jobs:
|
||||
- run: *apt_install
|
||||
- run:
|
||||
apt-get install -y --no-install-recommends
|
||||
ca-certificates
|
||||
python3-pip
|
||||
cpplint
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: pip install cpplint
|
||||
- run: other/analysis/run-cpplint
|
||||
|
4
.github/scripts/cmake-android
vendored
4
.github/scripts/cmake-android
vendored
@ -10,7 +10,7 @@ ABI=${1:-"armeabi-v7a"}
|
||||
case $ABI in
|
||||
armeabi-v7a)
|
||||
TARGET=armv7a-linux-androideabi
|
||||
NDK_API=19
|
||||
NDK_API=21
|
||||
;;
|
||||
arm64-v8a)
|
||||
TARGET=aarch64-linux-android
|
||||
@ -18,7 +18,7 @@ case $ABI in
|
||||
;;
|
||||
x86)
|
||||
TARGET=i686-linux-android
|
||||
NDK_API=19
|
||||
NDK_API=21
|
||||
;;
|
||||
x86_64)
|
||||
TARGET=x86_64-linux-android
|
||||
|
5
.github/scripts/flags-clang.sh
vendored
5
.github/scripts/flags-clang.sh
vendored
@ -39,12 +39,17 @@ add_flag -Wno-reserved-id-macro
|
||||
# TODO(iphydf): Clean these up. They are likely not bugs, but still
|
||||
# potential issues and probably confusing.
|
||||
add_flag -Wno-sign-compare
|
||||
# We don't want to have default cases, we want to explicitly define all cases
|
||||
add_flag -Wno-switch-default
|
||||
# __attribute__((nonnull)) causes this warning on defensive null checks.
|
||||
add_flag -Wno-tautological-pointer-compare
|
||||
# Our use of mutexes results in a false positive, see 1bbe446.
|
||||
add_flag -Wno-thread-safety-analysis
|
||||
# File transfer code has this.
|
||||
add_flag -Wno-type-limits
|
||||
# Generates false positives in toxcore similar to
|
||||
# https://github.com/llvm/llvm-project/issues/64646
|
||||
add_flag -Wno-unsafe-buffer-usage
|
||||
# Callbacks often don't use all their parameters.
|
||||
add_flag -Wno-unused-parameter
|
||||
# cimple does this better
|
||||
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -96,7 +96,7 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Export GitHub Actions cache environment variables
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
|
@ -28,8 +28,10 @@ run() {
|
||||
-Wno-old-style-cast \
|
||||
-Wno-padded \
|
||||
-Wno-sign-compare \
|
||||
-Wno-switch-default \
|
||||
-Wno-tautological-pointer-compare \
|
||||
-Wno-unreachable-code-return \
|
||||
-Wno-unsafe-buffer-usage \
|
||||
-Wno-unused-parameter \
|
||||
-Wno-used-but-marked-unused \
|
||||
-Wno-source-uses-openmp
|
||||
|
@ -200,6 +200,8 @@ bool get_general_config(const char *cfg_file_path, char **pid_file_path, char **
|
||||
*keys_file_path = (char *)malloc(keys_file_path_len);
|
||||
if (*keys_file_path == nullptr) {
|
||||
log_write(LOG_LEVEL_ERROR, "Allocation failure.\n");
|
||||
free(*pid_file_path);
|
||||
*pid_file_path = nullptr;
|
||||
return false;
|
||||
}
|
||||
memcpy(*keys_file_path, tmp_keys_file, keys_file_path_len);
|
||||
|
@ -13,7 +13,7 @@ COPY --from=sources /src/ /work/
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
RUN git clone --depth=1 https://github.com/jedisct1/libsodium /work/libsodium
|
||||
RUN git clone --depth=1 --branch=stable https://github.com/jedisct1/libsodium /work/libsodium
|
||||
COPY other/docker/compcert/Makefile /work/
|
||||
RUN make "-j$(nproc)"
|
||||
RUN ./send_message_test | grep 'tox clients connected'
|
||||
|
@ -52,7 +52,7 @@ if [ "$SUPPORT_TEST" = "true" ]; then
|
||||
https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
||||
|
||||
. ./check_sha256.sh
|
||||
check_sha256 "78b185fabdb323971d13bd329fefc8038e08559aa51c4996de18db0639a51df6" \
|
||||
check_sha256 "d965d646defe94b3dfba6d5b4406900ac6c81065428bf9d9303ad7a72ee8d1b8" \
|
||||
"/etc/apt/keyrings/winehq-archive.key"
|
||||
check_sha256 "8dd8ef66c749d56e798646674c1c185a99b3ed6727ca0fbb5e493951e66c0f9e" \
|
||||
"/etc/apt/sources.list.d/winehq-bookworm.sources"
|
||||
|
@ -34,6 +34,7 @@ RUN . "/work/emsdk/emsdk_env.sh" \
|
||||
&& emconfigure ./configure --disable-shared \
|
||||
--without-pthreads \
|
||||
--disable-ssp --disable-asm --disable-pie \
|
||||
--host x86_64-linux-gnu \
|
||||
&& emmake make install -j8
|
||||
|
||||
# Build an unused libsodium binding first so emcc caches all the system
|
||||
|
@ -805,7 +805,7 @@ int rtp_send_data(RTPSession *session, const uint8_t *data, uint32_t length,
|
||||
header.flags |= RTP_KEY_FRAME;
|
||||
}
|
||||
|
||||
const uint16_t rdata_size = length + RTP_HEADER_SIZE + 1;
|
||||
const uint16_t rdata_size = min_u32(length + RTP_HEADER_SIZE + 1, MAX_CRYPTO_DATA_SIZE);
|
||||
VLA(uint8_t, rdata, rdata_size);
|
||||
memset(rdata, 0, rdata_size);
|
||||
rdata[0] = session->payload_type; // packet id == payload_type
|
||||
|
@ -2468,14 +2468,12 @@ static void do_friends(Messenger *m, void *userdata)
|
||||
}
|
||||
}
|
||||
|
||||
if (m->friendlist[i].status == FRIEND_REQUESTED
|
||||
|| m->friendlist[i].status == FRIEND_CONFIRMED) { /* friend is not online. */
|
||||
if (m->friendlist[i].status == FRIEND_REQUESTED) {
|
||||
/* If we didn't connect to friend after successfully sending him a friend request the request is deemed
|
||||
* unsuccessful so we set the status back to FRIEND_ADDED and try again.
|
||||
*/
|
||||
check_friend_request_timed_out(m, i, temp_time, userdata);
|
||||
}
|
||||
if (m->friendlist[i].status == FRIEND_REQUESTED) {
|
||||
/* If we didn't connect to friend after successfully sending him a friend
|
||||
* request the request is deemed unsuccessful so we set the status back to
|
||||
* FRIEND_ADDED and try again.
|
||||
*/
|
||||
check_friend_request_timed_out(m, i, temp_time, userdata);
|
||||
}
|
||||
|
||||
if (m->friendlist[i].status == FRIEND_ONLINE) { /* friend is online. */
|
||||
|
@ -32,7 +32,7 @@ TEST(BinPack, PackedUint64CanBeUnpacked)
|
||||
},
|
||||
&orig, nullptr, buf.data(), buf.size()));
|
||||
|
||||
uint64_t unpacked;
|
||||
uint64_t unpacked = 0;
|
||||
EXPECT_TRUE(bin_unpack_obj(
|
||||
[](void *obj, Bin_Unpack *bu) {
|
||||
return bin_unpack_u64_b(bu, static_cast<uint64_t *>(obj));
|
||||
@ -51,7 +51,7 @@ TEST(BinPack, MsgPackedUint8CanBeUnpackedAsUint32)
|
||||
},
|
||||
&orig, nullptr, buf.data(), buf.size()));
|
||||
|
||||
uint32_t unpacked;
|
||||
uint32_t unpacked = 0;
|
||||
EXPECT_TRUE(bin_unpack_obj(
|
||||
[](void *obj, Bin_Unpack *bu) { return bin_unpack_u32(bu, static_cast<uint32_t *>(obj)); },
|
||||
&unpacked, buf.data(), buf.size()));
|
||||
@ -68,7 +68,7 @@ TEST(BinPack, MsgPackedUint32CanBeUnpackedAsUint8IfSmallEnough)
|
||||
},
|
||||
&orig, nullptr, buf.data(), buf.size()));
|
||||
|
||||
uint8_t unpacked;
|
||||
uint8_t unpacked = 0;
|
||||
EXPECT_TRUE(bin_unpack_obj(
|
||||
[](void *obj, Bin_Unpack *bu) { return bin_unpack_u08(bu, static_cast<uint8_t *>(obj)); },
|
||||
&unpacked, buf.data(), buf.size()));
|
||||
@ -86,7 +86,7 @@ TEST(BinPack, LargeMsgPackedUint32CannotBeUnpackedAsUint8)
|
||||
},
|
||||
&orig, nullptr, buf.data(), buf.size()));
|
||||
|
||||
uint8_t unpacked;
|
||||
uint8_t unpacked = 0;
|
||||
EXPECT_FALSE(bin_unpack_obj(
|
||||
[](void *obj, Bin_Unpack *bu) { return bin_unpack_u08(bu, static_cast<uint8_t *>(obj)); },
|
||||
&unpacked, buf.data(), buf.size()));
|
||||
|
Loading…
Reference in New Issue
Block a user