aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/asn1/asn_mime.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2012-02-23 21:50:44 +0000
committerDr. Stephen Henson <steve@openssl.org>2012-02-23 21:50:44 +0000
commit6941b7b91877caf770b0426c08471d61903878b2 (patch)
tree22e6b0d07069aaebd9ed1f3e0f5152b970ee5738 /crypto/asn1/asn_mime.c
parentef570cc8694ed070c9d808b096ac546a9f76efc3 (diff)
downloadopenssl-6941b7b91877caf770b0426c08471d61903878b2.tar.gz
PR: 2711
Submitted by: Tomas Mraz <tmraz@redhat.com> Tolerate bad MIME headers in parser.
Diffstat (limited to 'crypto/asn1/asn_mime.c')
-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 bbc4952918..dc2a35d0c8 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));
}