File 0416-crypto-Fix-valgrind-error.patch of Package erlang

From 46ddd7939820a48f72aa980ff2a1728cf935d4c3 Mon Sep 17 00:00:00 2001
From: Hans Nilsson <hans@erlang.org>
Date: Tue, 4 Sep 2018 18:57:00 +0200
Subject: [PATCH] crypto: Fix valgrind error

---
 lib/crypto/c_src/crypto.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
index 550342a88d..c7f36c95f1 100644
--- a/lib/crypto/c_src/crypto.c
+++ b/lib/crypto/c_src/crypto.c
@@ -5203,7 +5203,10 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM
 	    unsigned char *p;
 	    if (rsa == NULL) goto badarg;
 	    tmplen = RSA_size(rsa);
-	    if (!enif_alloc_binary(tmplen, &tmp_bin)) goto badarg;
+	    if (!enif_alloc_binary(tmplen, &tmp_bin)) {
+                RSA_free(rsa);
+                goto badarg;
+            }
 	    p = out_bin.data;
 	    p++;
 	    i = RSA_padding_check_SSLv23(tmp_bin.data, tmplen, p, out_bin.size - 1, tmplen);
@@ -5214,6 +5217,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM
 		tmp_bin = in_bin;
 		i = 1;
 	    }
+            RSA_free(rsa);
 	}
 #endif
     }
-- 
2.16.4