summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2016-10-20 17:47:18 +0200
committerKamil Dudka <kdudka@redhat.com>2016-10-20 17:47:18 +0200
commit29e2533fad980a44f73f4d83d4fa79f222309033 (patch)
tree7811fd63ff34523fd91d61c19147ebf37e8d5c1c
parentmake curl test-suite work again with valgrind enabled (diff)
downloadlibssh2-freefilesync-29e2533fad980a44f73f4d83d4fa79f222309033.tar.gz
libssh2-freefilesync-29e2533fad980a44f73f4d83d4fa79f222309033.tar.bz2
libssh2-freefilesync-29e2533fad980a44f73f4d83d4fa79f222309033.zip
add libssh2-1.7.0-openssl11-memleak.patch
... forgotten in the last commit
-rw-r--r--libssh2-1.7.0-openssl11-memleak.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/libssh2-1.7.0-openssl11-memleak.patch b/libssh2-1.7.0-openssl11-memleak.patch
new file mode 100644
index 0000000..94f88c0
--- /dev/null
+++ b/libssh2-1.7.0-openssl11-memleak.patch
@@ -0,0 +1,38 @@
+From c43eb3bae2b63affe5b16bfdab028a65cdc055db Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Thu, 20 Oct 2016 17:22:31 +0200
+Subject: [PATCH] Revert "aes: the init function fails when OpenSSL has AES
+ support"
+
+This partially reverts commit f4f2298ef3635acd031cc2ee0e71026cdcda5864
+because it caused the compatibility code to call initialization routines
+redundantly, leading to memory leakage with OpenSSL 1.1 and broken curl
+test-suite in Fedora:
+
+88 bytes in 1 blocks are definitely lost in loss record 5 of 8
+ at 0x4C2DB8D: malloc (vg_replace_malloc.c:299)
+ by 0x72C607D: CRYPTO_zalloc (mem.c:100)
+ by 0x72A2480: EVP_CIPHER_meth_new (cmeth_lib.c:18)
+ by 0x4E5A550: make_ctr_evp.isra.0 (openssl.c:407)
+ by 0x4E5A8E8: _libssh2_init_aes_ctr (openssl.c:471)
+ by 0x4E5BB5A: libssh2_init (global.c:49)
+---
+ src/openssl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/openssl.c b/src/openssl.c
+index a31e2dd..4f63ef9 100644
+--- a/src/openssl.c
++++ b/src/openssl.c
+@@ -265,7 +265,7 @@ _libssh2_cipher_crypt(_libssh2_cipher_ctx * ctx,
+ return ret == 1 ? 0 : 1;
+ }
+
+-#if LIBSSH2_AES_CTR
++#if LIBSSH2_AES_CTR && !defined(HAVE_EVP_AES_128_CTR)
+
+ #include <openssl/aes.h>
+ #include <openssl/evp.h>
+--
+2.7.4
+
bgstack15