cryptodev_digest_update: don't leak original state->mac_data if realloc fails
[oweals/openssl.git] / crypto / x509v3 / pcy_data.c
index 4711b1ee927b9d824ded08083e0b7be7a4e327f8..3444b03195055e86b4406937c9bf77f203a26a32 100644 (file)
@@ -1,5 +1,5 @@
 /* pcy_data.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2004.
  */
 /* ====================================================================
@@ -82,17 +82,21 @@ void policy_data_free(X509_POLICY_DATA *data)
  * another source.
  */
 
-X509_POLICY_DATA *policy_data_new(POLICYINFO *policy, ASN1_OBJECT *id, int crit)
+X509_POLICY_DATA *policy_data_new(POLICYINFO *policy,
+                                       const ASN1_OBJECT *cid, int crit)
        {
        X509_POLICY_DATA *ret;
-       if (!policy && !id)
+       ASN1_OBJECT *id;
+       if (!policy && !cid)
                return NULL;
-       if (id)
+       if (cid)
                {
-               id = OBJ_dup(id);
+               id = OBJ_dup(cid);
                if (!id)
                        return NULL;
                }
+       else
+               id = NULL;
        ret = OPENSSL_malloc(sizeof(X509_POLICY_DATA));
        if (!ret)
                return NULL;