summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsteve <steve>2012-02-23 21:50:44 +0000
committersteve <steve>2012-02-23 21:50:44 +0000
commit3947b253045787c40d0508b943566edaa06d7ab0 (patch)
tree8d479afd81d7cd212ca1bea5443b9d17f23503f5
parent473441acda2207a759b94b14442493712ed08d31 (diff)
downloadopenssl-3947b253045787c40d0508b943566edaa06d7ab0.tar.gz
PR: 2711
Submitted by: Tomas Mraz <tmraz@redhat.com> Tolerate bad MIME headers in parser.
-rw-r--r--crypto/asn1/asn_mime.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c
index bbc495291..dc2a35d0c 100644
--- a/crypto/asn1/asn_mime.c
+++ b/crypto/asn1/asn_mime.c
@@ -858,6 +858,10 @@ 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;
+
return(strcmp((*a)->name, (*b)->name));
}