summaryrefslogtreecommitdiffstats
path: root/engines
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-04-14 00:30:32 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-04-14 00:30:32 +0000
commitaf73b08ac09dfa0c548f3eacc00db4c882db1fbe (patch)
treeadcaba37709f477f2983a900d5c6c6708a5e38e7 /engines
parent934e22e81455e1e6229cbafb525a36cb6c50dbe9 (diff)
check ASN1 type before using it
Diffstat (limited to 'engines')
-rw-r--r--engines/ccgost/gost_crypt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/ccgost/gost_crypt.c b/engines/ccgost/gost_crypt.c
index eb11f0e328..44f4e49bc9 100644
--- a/engines/ccgost/gost_crypt.c
+++ b/engines/ccgost/gost_crypt.c
@@ -459,13 +459,15 @@ int gost89_get_asn1_parameters(EVP_CIPHER_CTX *ctx,ASN1_TYPE *params)
int ret = -1;
int len;
GOST_CIPHER_PARAMS *gcp = NULL;
- unsigned char *p = params->value.sequence->data;
+ unsigned char *p;
struct ossl_gost_cipher_ctx *c=ctx->cipher_data;
if (ASN1_TYPE_get(params) != V_ASN1_SEQUENCE)
{
return ret;
}
+ p = params->value.sequence->data;
+
gcp = d2i_GOST_CIPHER_PARAMS(NULL, (const unsigned char **)&p,
params->value.sequence->length);