reference counting for EC_GROUP structures is not needed (at the moment at least), so remove it
diff --git a/CHANGES b/CHANGES index 5cb5422..1b3bcb5 100644 --- a/CHANGES +++ b/CHANGES
@@ -22,9 +22,6 @@ extracted before the specific public key. [Nils Larsch <nla@trustcenter.de>] - *) Add reference counting for EC_GROUP objects. - [Nils Larsch <nla@trustcenter.de>] - *) Include some named elliptic curves. These can be obtained from the new functions EC_GROUP_new_by_nid()
diff --git a/crypto/ec/ec_lcl.h b/crypto/ec/ec_lcl.h index 9603e74..b938255 100644 --- a/crypto/ec/ec_lcl.h +++ b/crypto/ec/ec_lcl.h
@@ -166,7 +166,6 @@ EC_POINT *generator; /* optional */ BIGNUM order, cofactor; - int references; int nid; void *field_data1; /* method-specific (e.g., Montgomery structure) */
diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c index 2b1e491..3e372db 100644 --- a/crypto/ec/ec_lib.c +++ b/crypto/ec/ec_lib.c
@@ -96,8 +96,6 @@ ret->nid = 0; - ret->references = 1; - if (!meth->group_init(ret)) { OPENSSL_free(ret); @@ -110,12 +108,6 @@ void EC_GROUP_free(EC_GROUP *group) { - int i; - - i = CRYPTO_add(&group->references, -1, CRYPTO_LOCK_EC); - if (i > 0) - return; - if (group->meth->group_finish != 0) group->meth->group_finish(group); @@ -127,12 +119,6 @@ void EC_GROUP_clear_free(EC_GROUP *group) { - int i; - - i = CRYPTO_add(&group->references, -1, CRYPTO_LOCK_EC); - if (i > 0) - return; - if (group->meth->group_clear_finish != 0) group->meth->group_clear_finish(group); else if (group->meth != NULL && group->meth->group_finish != 0) @@ -314,14 +300,14 @@ } void EC_GROUP_set_nid(EC_GROUP *group, int nid) -{ + { group->nid = nid; -} + } int EC_GROUP_get_nid(const EC_GROUP *group) -{ + { return group->nid; -} + }