Skip to content

Commit 5951cc0

Browse files
committed
Constify ASN1_TYPE_cmp add X509_ALGOR_cmp.
Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 4c52816)
1 parent a856553 commit 5951cc0

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

crypto/asn1/a_type.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ IMPLEMENT_STACK_OF(ASN1_TYPE)
113113
IMPLEMENT_ASN1_SET_OF(ASN1_TYPE)
114114

115115
/* Returns 0 if they are equal, != 0 otherwise. */
116-
int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
116+
int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b)
117117
{
118118
int result = -1;
119119

crypto/asn1/asn1.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,7 @@ DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE)
776776
int ASN1_TYPE_get(ASN1_TYPE *a);
777777
void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value);
778778
int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value);
779-
int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b);
779+
int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b);
780780

781781
ASN1_OBJECT * ASN1_OBJECT_new(void );
782782
void ASN1_OBJECT_free(ASN1_OBJECT *a);

crypto/asn1/x_algor.c

+11
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,14 @@ void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md)
142142
X509_ALGOR_set0(alg, OBJ_nid2obj(EVP_MD_type(md)), param_type, NULL);
143143

144144
}
145+
146+
int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
147+
{
148+
int rv;
149+
rv = OBJ_cmp(a->algorithm, b->algorithm);
150+
if (rv)
151+
return rv;
152+
if (!a->parameter && !b->parameter)
153+
return 0;
154+
return ASN1_TYPE_cmp(a->parameter, b->parameter);
155+
}

crypto/x509/x509.h

+1
Original file line numberDiff line numberDiff line change
@@ -768,6 +768,7 @@ int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval);
768768
void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval,
769769
X509_ALGOR *algor);
770770
void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md);
771+
int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
771772

772773
X509_NAME *X509_NAME_dup(X509_NAME *xn);
773774
X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);

0 commit comments

Comments
 (0)