From d66bf190cb0796c2551f2fcb00943fb7eeb539ee Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 15 Dec 2017 10:02:54 +0000 Subject: [PATCH 1/2] Apply -fstack-protector-all to libsnark --- src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 797fdcfe9..437fc6828 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -45,7 +45,7 @@ $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) -include collate-libsnark collate-libsnark: $(LIBSNARK) -LIBSNARK_CXXFLAGS = -fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1 +LIBSNARK_CXXFLAGS = -fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1 -fstack-protector-all LIBSNARK_CONFIG_FLAGS = CURVE=ALT_BN128 NO_PROCPS=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT NO_COPY_DEPINST=1 NO_COMPILE_LIBGTEST=1 if HAVE_OPENMP LIBSNARK_CONFIG_FLAGS += MULTICORE=1 From 4a617475ecc5d5a5821920de4f49871bd9ba99d4 Mon Sep 17 00:00:00 2001 From: syd Date: Mon, 20 Nov 2017 19:26:34 -0500 Subject: [PATCH 2/2] Fix libsnark test failure. The shorten() method was copying too much into the destination buffer, overflowing it and affecting neighboring data. --- src/snark/src/algebra/fields/bigint.tcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/snark/src/algebra/fields/bigint.tcc b/src/snark/src/algebra/fields/bigint.tcc index f81addf45..c1777ad46 100644 --- a/src/snark/src/algebra/fields/bigint.tcc +++ b/src/snark/src/algebra/fields/bigint.tcc @@ -201,7 +201,7 @@ inline bigint bigint::shorten(const bigint& q, const char *msg) const } } bigint res; - mpn_copyi(res.data, data, n); + mpn_copyi(res.data, data, m); res.limit(q, msg); return res; }