diff options
author | Matt Caswell <matt@openssl.org> | 2018-05-16 11:59:47 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2018-05-21 10:28:02 +0100 |
commit | bbe75a29dfdb6561f21b7d010ac18c52da4beb78 (patch) | |
tree | 88eca52b4b2c94ee6ff06529c449dca0e00e0ef4 /crypto/x509/x509_cmp.c | |
parent | 12843c7307900e124ee0407535cab5534fc27dad (diff) |
Fix undefined behaviour in X509_NAME_cmp()
If the lengths of both names is 0 then don't attempt to do a memcmp.
Issue reported by Simon Friedberger, Robert Merget and Juraj Somorovsky.
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/6291)
(cherry picked from commit 511190b691183a1fb160e7e05e2974dc73cab0c6)
Diffstat (limited to 'crypto/x509/x509_cmp.c')
-rw-r--r-- | crypto/x509/x509_cmp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/x509/x509_cmp.c b/crypto/x509/x509_cmp.c index 01056356c5..8ac9efea42 100644 --- a/crypto/x509/x509_cmp.c +++ b/crypto/x509/x509_cmp.c @@ -174,7 +174,7 @@ int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b) ret = a->canon_enclen - b->canon_enclen; - if (ret) + if (ret != 0 || a->canon_enclen == 0) return ret; return memcmp(a->canon_enc, b->canon_enc, a->canon_enclen); |