check ASN1 type before using it
[openssl.git] / engines / ccgost / gost_crypt.c
index eb11f0e32839aa16852babc47a48bd91e1521f36..44f4e49bc98014cf8ccc90b26bcacd4e77d7e1cc 100644 (file)
@@ -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);