summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-01-02 15:00:24 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-01-02 16:07:39 +0100
commit4427ffaa0eb256c8fd559b1b6481ead3725ac47b (patch)
tree5b071ed784660c458490e12e4cc117e4fe05efe7
parent7486c3c76604d71b8893e1c253b828fa9b9824b4 (diff)
downloadgnutls-4427ffaa0eb256c8fd559b1b6481ead3725ac47b.tar.gz
gnutls_pkcs8_info: addressed memory leak on error path
-rw-r--r--lib/x509/privkey_pkcs8.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/x509/privkey_pkcs8.c b/lib/x509/privkey_pkcs8.c
index d1f9686c92..8186ececcb 100644
--- a/lib/x509/privkey_pkcs8.c
+++ b/lib/x509/privkey_pkcs8.c
@@ -526,17 +526,19 @@ gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format,
memcpy(salt, kdf.salt, kdf.salt_size);
} else {
*salt_size = kdf.salt_size;
- return gnutls_assert_val(GNUTLS_E_SHORT_MEMORY_BUFFER);
+ ret = gnutls_assert_val(GNUTLS_E_SHORT_MEMORY_BUFFER);
+ goto cleanup;
}
}
if (salt_size)
*salt_size = kdf.salt_size;
-
return 0;
- cleanup:
+ cleanup:
+ if (oid)
+ gnutls_free(*oid);
if (need_free)
_gnutls_free_datum(&_data);
return ret;