pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
authorEric Sesterhenn <[email protected]>
Sun, 8 Oct 2017 18:02:32 +0000 (20:02 +0200)
committerDavid Howells <[email protected]>
Wed, 18 Oct 2017 08:12:41 +0000 (09:12 +0100)
The ASN.1 parser does not necessarily set the sinfo field,
this patch prevents a NULL pointer dereference on broken
input.

Fixes: 99db44350672 ("PKCS#7: Appropriately restrict authenticated attributes and content type")
Signed-off-by: Eric Sesterhenn <[email protected]>
Signed-off-by: David Howells <[email protected]>
cc: [email protected] # 4.3+

crypto/asymmetric_keys/pkcs7_parser.c

index af4cd864911752478ba5f3c2732273f9624d434f..d140d8bb2c96140c408b1e3450f288e562372743 100644 (file)
@@ -88,6 +88,9 @@ static int pkcs7_check_authattrs(struct pkcs7_message *msg)
        bool want = false;
 
        sinfo = msg->signed_infos;
+       if (!sinfo)
+               goto inconsistent;
+
        if (sinfo->authattrs) {
                want = true;
                msg->have_authattrs = true;