PR: 2711
authorDr. Stephen Henson <steve@openssl.org>
Thu, 23 Feb 2012 21:50:13 +0000 (21:50 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 23 Feb 2012 21:50:13 +0000 (21:50 +0000)
Submitted by: Tomas Mraz <tmraz@redhat.com>

Tolerate bad MIME headers in parser.

crypto/asn1/asn_mime.c

index d8d9e76cc06d75ec26bb2d62796b23a5590a9420..258cfd7325039bf01e79e855ec2f9c18ca6430be 100644 (file)
@@ -790,6 +790,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)
 {
 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));
 }
 
        return(strcmp((*a)->name, (*b)->name));
 }