Beispiel #1
0
void X509_INFO_free(X509_INFO *x)
	{
	int i;

	if (x == NULL) return;

	i=CRYPTO_add(&x->references,-1,CRYPTO_LOCK_X509_INFO);
#ifdef REF_PRINT
	REF_PRINT("X509_INFO",x);
#endif
	if (i > 0) return;
#ifdef REF_CHECK
	if (i < 0)
		{
		fprintf(stderr,"X509_INFO_free, bad reference count\n");
		abort();
		}
#endif

	if (x->x509 != NULL) X509_free(x->x509);
	if (x->crl != NULL) X509_CRL_free(x->crl);
	if (x->x_pkey != NULL) X509_PKEY_free(x->x_pkey);
	if (x->enc_data != NULL) OPENSSL_free(x->enc_data);
	OPENSSL_free(x);
	}
Beispiel #2
0
X509_PKEY *X509_PKEY_new(void)
{
    X509_PKEY *ret = NULL;

    ret = OPENSSL_malloc(sizeof(*ret));
    if (!ret)
        goto err;
    memset(ret, 0, sizeof(*ret));

    ret->version = 0;
    ret->enc_algor = X509_ALGOR_new();
    ret->enc_pkey = ASN1_OCTET_STRING_new();
    if (!ret->enc_algor || !ret->enc_pkey)
        goto err;
    ret->dec_pkey = NULL;
    ret->key_length = 0;
    ret->key_data = NULL;
    ret->key_free = 0;
    ret->cipher.cipher = NULL;
    memset(ret->cipher.iv, 0, EVP_MAX_IV_LENGTH);
    ret->references = 1;
    return ret;
err:
    X509_PKEY_free(ret);
    ASN1err(ASN1_F_X509_PKEY_NEW, ERR_R_MALLOC_FAILURE);
    return NULL;
}
Beispiel #3
0
X509_PKEY *X509_PKEY_new(void)
{
    X509_PKEY *ret = NULL;

    ret = OPENSSL_zalloc(sizeof(*ret));
    if (ret == NULL)
        goto err;

    ret->enc_algor = X509_ALGOR_new();
    ret->enc_pkey = ASN1_OCTET_STRING_new();
    if (ret->enc_algor == NULL || ret->enc_pkey == NULL)
        goto err;

    return ret;
err:
    X509_PKEY_free(ret);
    ASN1err(ASN1_F_X509_PKEY_NEW, ERR_R_MALLOC_FAILURE);
    return NULL;
}
Beispiel #4
0
void
X509_INFO_free(X509_INFO *x)
{
	int i;

	if (x == NULL)
		return;

	i = CRYPTO_add(&x->references, -1, CRYPTO_LOCK_X509_INFO);
	if (i > 0)
		return;

	if (x->x509 != NULL)
		X509_free(x->x509);
	if (x->crl != NULL)
		X509_CRL_free(x->crl);
	if (x->x_pkey != NULL)
		X509_PKEY_free(x->x_pkey);
	free(x->enc_data);
	free(x);
}
Beispiel #5
0
X509_PKEY *X509_PKEY_new(void)
{
    X509_PKEY *ret = OPENSSL_malloc(sizeof(X509_PKEY));
    if (ret == NULL) {
        OPENSSL_PUT_ERROR(X509, ERR_R_MALLOC_FAILURE);
        goto err;
    }
    memset(ret, 0, sizeof(X509_PKEY));

    ret->enc_algor = X509_ALGOR_new();
    if (ret->enc_algor == NULL)
        goto err;
    ret->enc_pkey = M_ASN1_OCTET_STRING_new();
    if (ret->enc_pkey == NULL)
        goto err;
    return ret;

 err:
    if (ret != NULL)
        X509_PKEY_free(ret);
    return NULL;
}