diff options
Diffstat (limited to 'crypto/x509/x509_cmp.c')
-rw-r--r-- | crypto/x509/x509_cmp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crypto/x509/x509_cmp.c b/crypto/x509/x509_cmp.c index d3b2c199b9..831cfb70f0 100644 --- a/crypto/x509/x509_cmp.c +++ b/crypto/x509/x509_cmp.c @@ -187,9 +187,10 @@ int X509_cmp(const X509 *a, const X509 *b) return rv; /* Check for match against stored encoding too */ if (!a->cert_info.enc.modified && !b->cert_info.enc.modified) { - rv = (int)(a->cert_info.enc.len - b->cert_info.enc.len); - if (rv) - return rv; + if (a->cert_info.enc.len < b->cert_info.enc.len) + return -1; + if (a->cert_info.enc.len > b->cert_info.enc.len) + return 1; return memcmp(a->cert_info.enc.enc, b->cert_info.enc.enc, a->cert_info.enc.len); } |