diff options
| author | micl2e2 <micl2e2@proton.me> | 2025-03-28 21:31:49 +0800 |
|---|---|---|
| committer | Aliaksei Levin <22669599+levlam@users.noreply.github.com> | 2025-04-12 22:47:46 +0300 |
| commit | a7e4cb437784fefee861501b5776688c4bba0038 (patch) | |
| tree | a2c520e87afab2ebe8cb3189dac4c1a52d916992 /tdutils | |
| parent | 47d3f6db77f91c844e06c49e7aeae555572d3727 (diff) | |
Suppress array-bounds warnings
Diffstat (limited to 'tdutils')
| -rw-r--r-- | tdutils/td/utils/Ed25519.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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<SecureString> 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<char>(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<char>(public_y[31] & 127); BigNum y = BigNum::from_le_binary(public_y); BigNum y2 = y.clone(); y += 1; |
