summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2012-03-12 15:26:48 +0000
committerDr. Stephen Henson <steve@openssl.org>2012-03-12 15:26:48 +0000
commitdc95c53c6f3fc9007fea9376d02f7bd82d2a0fb4 (patch)
tree1dd3ca123e72944aa16f1dfd97a9493c805989dc
parentb24a53dd9a6ed9dfd6d2279ab5938dde94d71d5c (diff)
downloadopenssl-new-OpenSSL_1_0_0h.tar.gz
corrected fix to PR#2711 and also cover mime_param_cmpOpenSSL_1_0_0h
-rw-r--r--crypto/asn1/asn_mime.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c
index 6d8a9bf90f..54a704a969 100644
--- a/crypto/asn1/asn_mime.c
+++ b/crypto/asn1/asn_mime.c
@@ -862,9 +862,8 @@ static int mime_hdr_addparam(MIME_HEADER *mhdr, char *name, char *value)
static int mime_hdr_cmp(const MIME_HEADER * const *a,
const MIME_HEADER * const *b)
{
- if ((*a)->name == NULL || (*b)->name == NULL)
- return (*a)->name - (*b)->name < 0 ? -1 :
- (*a)->name - (*b)->name > 0 ? 1 : 0;
+ if (!(*a)->name || !(*b)->name)
+ return !!(*a)->name - !!(*b)->name;
return(strcmp((*a)->name, (*b)->name));
}
@@ -872,6 +871,8 @@ static int mime_hdr_cmp(const MIME_HEADER * const *a,
static int mime_param_cmp(const MIME_PARAM * const *a,
const MIME_PARAM * const *b)
{
+ if (!(*a)->param_name || !(*b)->param_name)
+ return !!(*a)->param_name - !!(*b)->param_name;
return(strcmp((*a)->param_name, (*b)->param_name));
}