Alien-ZMQ-latest

 view release on metacpan or  search on metacpan

patch/4213.patch  view on Meta::CPAN

From 92b2c38a2c51a1942a380c7ee08147f7b1ca6845 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <bluca@debian.org>
Date: Sun, 13 Jun 2021 16:21:07 +0100
Subject: [PATCH] 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
---
 src/curve_client_tools.hpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/curve_client_tools.hpp b/src/curve_client_tools.hpp
index 3c098ba937e6f1010df97f46dfd9fe01cb62d7ed..7e0d25b3a413b7ff8a0e1d0f12fa14a3d8b6ba14 100644
--- a/src/curve_client_tools.hpp
+++ b/src/curve_client_tools.hpp
@@ -180,6 +180,12 @@ struct curve_client_tools_t
         //  Create Box [C + vouch + metadata](C'->S')
         std::fill (initiate_plaintext.begin (),
                    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 + 32], vouch_nonce + 8,
                 16);
@@ -189,6 +195,10 @@ struct curve_client_tools_t
             memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48 + 80],
                     metadata_plaintext_, metadata_length_);
         }
+#if __GNUC__ >= 11
+#pragma GCC diagnostic pop
+#pragma GCC diagnostic pop
+#endif
 
         memcpy (initiate_nonce, "CurveZMQINITIATE", 16);
         put_uint64 (initiate_nonce + 16, cn_nonce_);



( run in 0.791 second using v1.01-cache-2.11-cpan-39bf76dae61 )