summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2019-11-10 14:06:58 +0300
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2019-11-11 23:51:15 +0300
commitbaba4094a36fb2bac8fbb3dcdb6567194e1aee25 (patch)
tree39c08c9810ecb89842b1eda3a3ce0d10cf6d2164
parent3d4928e4268bea40a37e796795e42353d4415a6d (diff)
downloadgnutls-baba4094a36fb2bac8fbb3dcdb6567194e1aee25.tar.gz
vko: fix possible unitilized scalar access
Fix error path in _gnutls_gost_keytrans_decrypt. If _asn1_strict_der_decode() fails, cleanup path will try to gnutls_pk_params_release(&pub), which will access unitialized pub variable. Fix by deleting asn1 sctructure directly. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-rw-r--r--lib/vko.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/vko.c b/lib/vko.c
index a419390ffa..f8aa80dfc7 100644
--- a/lib/vko.c
+++ b/lib/vko.c
@@ -197,7 +197,9 @@ _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st *priv,
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
- goto cleanup;
+ asn1_delete_structure(&kx);
+
+ return ret;
}
ret = _gnutls_get_asn_mpis(kx,