diff -up openssl-fips-0.9.8e/crypto/pkcs7/pk7_mime.c.bad-mime2 openssl-fips-0.9.8e/crypto/pkcs7/pk7_mime.c --- openssl-fips-0.9.8e/crypto/pkcs7/pk7_mime.c.bad-mime2 2012-03-19 17:42:34.000000000 +0100 +++ openssl-fips-0.9.8e/crypto/pkcs7/pk7_mime.c 2012-03-19 18:07:00.357352534 +0100 @@ -689,9 +689,8 @@ static int mime_hdr_addparam(MIME_HEADER 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)); } @@ -699,6 +698,8 @@ static int mime_hdr_cmp(const MIME_HEADE 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)); }