check ASN1 type before using it
[openssl.git] / engines / ccgost / gost_crypt.c
index eb11f0e..44f4e49 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);