From b19caac46988196a5799540f7998fc7eeaec139a Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Fri, 1 Mar 2019 22:54:58 +0300 Subject: [PATCH] libgcrypt: update patch: fix segfaults in otrl_privkey_fingerprint() function (from libotr) which happened in applications built for x86_64-w64-mingw32.* targets See: https://github.com/psi-im/plugins/issues/45 --- src/libgcrypt-1-fixes.patch | 68 ------------------------------------- 1 file changed, 68 deletions(-) diff --git a/src/libgcrypt-1-fixes.patch b/src/libgcrypt-1-fixes.patch index 5d338c92..3f939f9b 100644 --- a/src/libgcrypt-1-fixes.patch +++ b/src/libgcrypt-1-fixes.patch @@ -39,74 +39,6 @@ index 1111111..2222222 100644 #define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG) #endif +#endif -diff --git a/mpi/mpi-internal.h b/mpi/mpi-internal.h -index 1111111..2222222 100644 ---- a/mpi/mpi-internal.h -+++ b/mpi/mpi-internal.h -@@ -169,6 +169,12 @@ typedef int mpi_size_t; /* (must be a signed type) */ - } while (0) - - -+#ifdef _WIN64 -+#define ATTR_ABI __attribute__ ((sysv_abi)) -+#else -+#define ATTR_ABI -+#endif -+ - /*-- mpiutil.c --*/ - #define mpi_alloc_limb_space(n,f) _gcry_mpi_alloc_limb_space((n),(f)) - mpi_ptr_t _gcry_mpi_alloc_limb_space( unsigned nlimbs, int sec ); -@@ -187,7 +193,7 @@ void _gcry_mpi_lshift_limbs( gcry_mpi_t a, unsigned int count ); - mpi_limb_t _gcry_mpih_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_size_t s1_size, mpi_limb_t s2_limb ); - mpi_limb_t _gcry_mpih_add_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, -- mpi_ptr_t s2_ptr, mpi_size_t size); -+ mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI; - mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, - mpi_ptr_t s2_ptr, mpi_size_t s2_size); - -@@ -195,7 +201,7 @@ mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_siz - mpi_limb_t _gcry_mpih_sub_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_size_t s1_size, mpi_limb_t s2_limb ); - mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, -- mpi_ptr_t s2_ptr, mpi_size_t size); -+ mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI; - mpi_limb_t _gcry_mpih_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, - mpi_ptr_t s2_ptr, mpi_size_t s2_size); - -@@ -217,9 +223,9 @@ struct karatsuba_ctx { - void _gcry_mpih_release_karatsuba_ctx( struct karatsuba_ctx *ctx ); - - mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, -- mpi_size_t s1_size, mpi_limb_t s2_limb); -+ mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; - mpi_limb_t _gcry_mpih_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, -- mpi_size_t s1_size, mpi_limb_t s2_limb); -+ mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; - void _gcry_mpih_mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, - mpi_size_t size); - mpi_limb_t _gcry_mpih_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, -@@ -236,7 +242,7 @@ void _gcry_mpih_mul_karatsuba_case( mpi_ptr_t prodp, - - /*-- mpih-mul_1.c (or xxx/cpu/ *.S) --*/ - mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, -- mpi_size_t s1_size, mpi_limb_t s2_limb); -+ mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; - - /*-- mpih-div.c --*/ - mpi_limb_t _gcry_mpih_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size, -@@ -250,9 +256,9 @@ mpi_limb_t _gcry_mpih_divmod_1( mpi_ptr_t quot_ptr, - - /*-- mpih-shift.c --*/ - mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, -- unsigned cnt); -+ unsigned cnt) ATTR_ABI; - mpi_limb_t _gcry_mpih_rshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, -- unsigned cnt); -+ unsigned cnt) ATTR_ABI; - - - /* Define stuff for longlong.h. */ diff --git a/src/libgcrypt.def b/src/libgcrypt.def index 1111111..2222222 100644 --- a/src/libgcrypt.def