From 2830a0bd71ff5c5e1777cfd51cf1ddb615aaa415 Mon Sep 17 00:00:00 2001 From: Sumit Aggarwal Date: Mon, 22 Aug 2016 17:03:44 +0530 Subject: [PATCH] [Upstream]: Fix HANDLE_LEAK and memory leak issues. Upstream link: https://gitlab.com/gnutls/gnutls/commit/39cdaed454b12c7be9881d550ec2ea89c649c707 Signed-off-by: Sumit Aggarwal Change-Id: I35651c359c3c6ef25cc74adacd545fa1faca1c09 --- src/benchmark-cipher.c | 5 ++++- src/srptool.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/benchmark-cipher.c b/src/benchmark-cipher.c index 586c386..50de388 100644 --- a/src/benchmark-cipher.c +++ b/src/benchmark-cipher.c @@ -56,8 +56,11 @@ static void cipher_mac_bench(int algo, int mac_algo, int size) memset(_key, 0xf0, keysize); _iv = malloc(ivsize); - if (_iv == NULL) + if (_iv == NULL) { + if (_key) + free(_key); return; + } memset(_iv, 0xf0, ivsize); iv.data = _iv; diff --git a/src/srptool.c b/src/srptool.c index 5d60cde..8260f15 100644 --- a/src/srptool.c +++ b/src/srptool.c @@ -114,11 +114,13 @@ static int generate_create_conf(const char *tpasswd_conf) if (gnutls_srp_base64_encode_alloc(&n, &str_n) < 0) { fprintf(stderr, "Could not encode\n"); + fclose(fd); return -1; } if (gnutls_srp_base64_encode_alloc(&g, &str_g) < 0) { fprintf(stderr, "Could not encode\n"); + fclose(fd); return -1; } -- 2.7.4