corrected fix to PR#2711 and also cover mime_param_cmp OpenSSL_0_9_8u
authorDr. Stephen Henson <steve@openssl.org>
Mon, 12 Mar 2012 15:25:53 +0000 (15:25 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 12 Mar 2012 15:25:53 +0000 (15:25 +0000)
crypto/asn1/asn_mime.c

index 0a9989def226715d01b22a1fe008568a4e9fe4ce..ad8fbed90725a38c40c7f6e09b930dde0843d098 100644 (file)
@@ -790,9 +790,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));
 }
@@ -800,6 +799,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));
 }