diff options
author | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2019-11-10 14:06:58 +0300 |
---|---|---|
committer | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2019-11-11 23:51:15 +0300 |
commit | baba4094a36fb2bac8fbb3dcdb6567194e1aee25 (patch) | |
tree | 39c08c9810ecb89842b1eda3a3ce0d10cf6d2164 | |
parent | 3d4928e4268bea40a37e796795e42353d4415a6d (diff) | |
download | gnutls-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.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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, |