From: Tomas Mraz Date: Mon, 12 Apr 2021 07:58:27 +0000 (+0200) Subject: X509_NAME_cmp: if canon_enclen is 0 for both names return 0 X-Git-Tag: openssl-3.0.0-alpha15~107 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74bcbea76ff180c3eb27a141be99b7b577eec81c;p=thirdparty%2Fopenssl.git X509_NAME_cmp: if canon_enclen is 0 for both names return 0 We do not care whether canon_enc is NULL in this case. Fixes #14813 Reviewed-by: David von Oheimb (Merged from https://github.com/openssl/openssl/pull/14832) --- diff --git a/crypto/x509/x509_cmp.c b/crypto/x509/x509_cmp.c index 51dc24b6fb3..0cc5ed7f5f7 100644 --- a/crypto/x509/x509_cmp.c +++ b/crypto/x509/x509_cmp.c @@ -269,11 +269,14 @@ int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b) return -2; } + ret = a->canon_enclen - b->canon_enclen; + if (ret == 0 && a->canon_enclen == 0) + return 0; + if (a->canon_enc == NULL || b->canon_enc == NULL) return -2; - ret = a->canon_enclen - b->canon_enclen; - if (ret == 0 && a->canon_enclen != 0) + if (ret == 0) ret = memcmp(a->canon_enc, b->canon_enc, a->canon_enclen); return ret < 0 ? -1 : ret > 0;