From a7e4cb437784fefee861501b5776688c4bba0038 Mon Sep 17 00:00:00 2001 From: micl2e2 Date: Fri, 28 Mar 2025 21:31:49 +0800 Subject: Suppress array-bounds warnings --- tdutils/td/utils/Ed25519.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tdutils') diff --git a/tdutils/td/utils/Ed25519.cpp b/tdutils/td/utils/Ed25519.cpp index 7128a9cb6..21137cf3a 100644 --- a/tdutils/td/utils/Ed25519.cpp +++ b/tdutils/td/utils/Ed25519.cpp @@ -275,7 +275,11 @@ Result Ed25519::compute_shared_secret(const PublicKey &public_key, #if OPENSSL_VERSION_NUMBER >= 0x10101000L BigNum p = BigNum::from_hex("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed").move_as_ok(); auto public_y = public_key.as_octet_string(); - public_y.as_mutable_slice()[31] = static_cast(public_y[31] & 127); + MutableSlice pub_slc = public_y.as_mutable_slice(); + if (pub_slc.size() != PublicKey::LENGTH) { + return Status::Error("Wrong public key"); + } + pub_slc[31] = static_cast(public_y[31] & 127); BigNum y = BigNum::from_le_binary(public_y); BigNum y2 = y.clone(); y += 1; -- cgit v1.2.3