mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-12 17:12:46 +00:00
Problem: build with curve fails on GCC 11
Solution: ignore false positives due to compiler bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 Fixes https://github.com/zeromq/libzmq/issues/4206
This commit is contained in:
parent
b40a793142
commit
92b2c38a2c
@ -180,6 +180,12 @@ struct curve_client_tools_t
|
|||||||
// Create Box [C + vouch + metadata](C'->S')
|
// Create Box [C + vouch + metadata](C'->S')
|
||||||
std::fill (initiate_plaintext.begin (),
|
std::fill (initiate_plaintext.begin (),
|
||||||
initiate_plaintext.begin () + crypto_box_ZEROBYTES, 0);
|
initiate_plaintext.begin () + crypto_box_ZEROBYTES, 0);
|
||||||
|
|
||||||
|
// False positives due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
|
||||||
|
#if __GNUC__ >= 11
|
||||||
|
#pragma GCC diagnostic ignored "-Warray-bounds"
|
||||||
|
#pragma GCC diagnostic ignored "-Wstringop-overflow="
|
||||||
|
#endif
|
||||||
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES], public_key_, 32);
|
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES], public_key_, 32);
|
||||||
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 32], vouch_nonce + 8,
|
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 32], vouch_nonce + 8,
|
||||||
16);
|
16);
|
||||||
@ -189,6 +195,10 @@ struct curve_client_tools_t
|
|||||||
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48 + 80],
|
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48 + 80],
|
||||||
metadata_plaintext_, metadata_length_);
|
metadata_plaintext_, metadata_length_);
|
||||||
}
|
}
|
||||||
|
#if __GNUC__ >= 11
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
memcpy (initiate_nonce, "CurveZMQINITIATE", 16);
|
memcpy (initiate_nonce, "CurveZMQINITIATE", 16);
|
||||||
put_uint64 (initiate_nonce + 16, cn_nonce_);
|
put_uint64 (initiate_nonce + 16, cn_nonce_);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user